/* Copyright 2011 Google */'use strict';var tn_a,tn_b=tn_b||{};tn_b.scope={};tn_b.createTemplateTagFirstArg=function(a){return a.raw=a};tn_b.createTemplateTagFirstArgWithRaw=function(a,b){a.raw=b;return a};tn_b.checkStringArgs=function(a,b,c){if(null==a)throw new TypeError("The 'this' value for String.prototype."+c+" must not be null or undefined");if(b instanceof RegExp)throw new TypeError("First argument to String.prototype."+c+" must not be a regular expression");return a+""};tn_b.ASSUME_ES5=!1;
tn_b.ASSUME_NO_NATIVE_MAP=!1;tn_b.ASSUME_NO_NATIVE_SET=!1;tn_b.SIMPLE_FROUND_POLYFILL=!1;tn_b.ISOLATE_POLYFILLS=!1;tn_b.FORCE_POLYFILL_PROMISE=!1;tn_b.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1;tn_b.defineProperty=tn_b.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};
tn_b.getGlobal=function(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");};tn_b.global=tn_b.getGlobal(this);tn_b.IS_SYMBOL_NATIVE="function"===typeof Symbol&&"symbol"===typeof Symbol("x");tn_b.TRUST_ES6_POLYFILLS=!tn_b.ISOLATE_POLYFILLS||tn_b.IS_SYMBOL_NATIVE;tn_b.polyfills={};
tn_b.propertyToPolyfillSymbol={};tn_b.POLYFILL_PREFIX="$jscp$";tn_b.polyfill=function(a,b,c,d){b&&(tn_b.ISOLATE_POLYFILLS?tn_b.polyfillIsolated(a,b,c,d):tn_b.polyfillUnisolated(a,b,c,d))};tn_b.polyfillUnisolated=function(a,b){var c=tn_b.global;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))return;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&tn_b.defineProperty(c,a,{configurable:!0,writable:!0,value:b})};
tn_b.polyfillIsolated=function(a,b,c){var d=a.split(".");a=1===d.length;var e=d[0];e=!a&&e in tn_b.polyfills?tn_b.polyfills:tn_b.global;for(var f=0;f<d.length-1;f++){var g=d[f];if(!(g in e))return;e=e[g]}d=d[d.length-1];c=tn_b.IS_SYMBOL_NATIVE&&"es6"===c?e[d]:null;b=b(c);null!=b&&(a?tn_b.defineProperty(tn_b.polyfills,d,{configurable:!0,writable:!0,value:b}):b!==c&&(tn_b.propertyToPolyfillSymbol[d]=tn_b.IS_SYMBOL_NATIVE?tn_b.global.Symbol(d):tn_b.POLYFILL_PREFIX+d,d=tn_b.propertyToPolyfillSymbol[d],
tn_b.defineProperty(e,d,{configurable:!0,writable:!0,value:b})))};tn_b.polyfill("String.prototype.endsWith",function(a){return a?a:a=function(b,c){var d=tn_b.checkStringArgs(this,b,"endsWith");b+="";void 0===c&&(c=d.length);c=Math.max(0,Math.min(c|0,d.length));for(var e=b.length;0<e&&0<c;)if(d[--c]!=b[--e])return!1;return 0>=e}},"es6","es3");
tn_b.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e<d;e++){var f=a[e];if(b.call(c,f,e,a))return{i:e,v:f}}return{i:-1,v:void 0}};tn_b.arrayIteratorImpl=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}};tn_b.arrayIterator=function(a){return{next:tn_b.arrayIteratorImpl(a)}};tn_b.initSymbol=function(){};
tn_b.polyfill("Symbol",function(a){if(a)return a;var b=function(e,f){this.$jscomp$symbol$id_=e;tn_b.defineProperty(this,"description",{configurable:!0,writable:!0,value:f})};b.prototype.toString=function(){return this.$jscomp$symbol$id_};var c=0,d=function(e){if(this instanceof d)throw new TypeError("Symbol is not a constructor");return new b("jscomp_symbol_"+(e||"")+"_"+c++,e)};return d},"es6","es3");
tn_b.polyfill("Symbol.iterator",function(a){if(a)return a;a=Symbol("Symbol.iterator");for(var b="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),c=0;c<b.length;c++){var d=tn_b.global[b[c]];"function"===typeof d&&"function"!=typeof d.prototype[a]&&tn_b.defineProperty(d.prototype,a,{configurable:!0,writable:!0,value:function(){return tn_b.iteratorPrototype(tn_b.arrayIteratorImpl(this))}})}return a},"es6","es3");
tn_b.iteratorPrototype=function(a){a={next:a};a[Symbol.iterator]=function(){return this};return a};tn_b.iteratorFromArray=function(a,b){a instanceof String&&(a+="");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var f=c++;return{value:b(f,a[f]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e};tn_b.polyfill("Array.prototype.keys",function(a){return a?a:a=function(){return tn_b.iteratorFromArray(this,function(b){return b})}},"es6","es3");
tn_b.polyfill("String.prototype.startsWith",function(a){return a?a:a=function(b,c){var d=tn_b.checkStringArgs(this,b,"startsWith");b+="";var e=d.length,f=b.length;c=Math.max(0,Math.min(c|0,d.length));for(var g=0;g<f&&c<e;)if(d[c++]!=b[g++])return!1;return g>=f}},"es6","es3");
tn_b.polyfill("String.prototype.repeat",function(a){return a?a:a=function(b){var c=tn_b.checkStringArgs(this,null,"repeat");if(0>b||1342177279<b)throw new RangeError("Invalid count value");b|=0;for(var d="";b;)if(b&1&&(d+=c),b>>>=1)c+=c;return d}},"es6","es3");tn_b.polyfill("String.prototype.trimLeft",function(a){function b(){return this.replace(/^[\s\xa0]+/,"")}return a||b},"es_2019","es3");
tn_b.polyfill("Array.from",function(a){return a?a:a=function(b,c,d){c=null!=c?c:function(l){return l};var e=[],f="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];if("function"==typeof f){b=f.call(b);for(var g=0;!(f=b.next()).done;)e.push(c.call(d,f.value,g++))}else for(f=b.length,g=0;g<f;g++)e.push(c.call(d,b[g],g));return e}},"es6","es3");
tn_b.checkEs6ConformanceViaProxy=function(){try{var a={},b=Object.create(new tn_b.global.Proxy(a,{get:function(c,d,e){return c==a&&"q"==d&&e==b}}));return!0===b.q}catch(c){return!1}};tn_b.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS=!1;tn_b.ES6_CONFORMANCE=tn_b.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS&&tn_b.checkEs6ConformanceViaProxy();tn_b.makeIterator=function(a){var b="undefined"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):tn_b.arrayIterator(a)};
tn_b.owns=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};
tn_b.polyfill("WeakMap",function(a){function b(){if(!a||!Object.seal)return!1;try{var k=Object.seal({}),h=Object.seal({}),m=new a([[k,2],[h,3]]);if(2!=m.get(k)||3!=m.get(h))return!1;m.delete(k);m.set(h,4);return!m.has(k)&&4==m.get(h)}catch(p){return!1}}function c(){}function d(k){var h=typeof k;return"object"===h&&null!==k||"function"===h}function e(k){if(!tn_b.owns(k,g)){var h=new c;tn_b.defineProperty(k,g,{value:h})}}function f(k){if(!tn_b.ISOLATE_POLYFILLS){var h=Object[k];h&&(Object[k]=function(m){if(m instanceof
c)return m;Object.isExtensible(m)&&e(m);return h(m)})}}if(tn_b.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(a&&tn_b.ES6_CONFORMANCE)return a}else if(b())return a;var g="$jscomp_hidden_"+Math.random();f("freeze");f("preventExtensions");f("seal");var l=0,n=function(k){this.id_=(l+=Math.random()+1).toString();if(k){k=tn_b.makeIterator(k);for(var h;!(h=k.next()).done;)h=h.value,this.set(h[0],h[1])}};n.prototype.set=function(k,h){if(!d(k))throw Error("Invalid WeakMap key");e(k);if(!tn_b.owns(k,g))throw Error("WeakMap key fail: "+
k);k[g][this.id_]=h;return this};n.prototype.get=function(k){return d(k)&&tn_b.owns(k,g)?k[g][this.id_]:void 0};n.prototype.has=function(k){return d(k)&&tn_b.owns(k,g)&&tn_b.owns(k[g],this.id_)};n.prototype.delete=function(k){return d(k)&&tn_b.owns(k,g)&&tn_b.owns(k[g],this.id_)?delete k[g][this.id_]:!1};return n},"es6","es3");tn_b.polyfill("Array.prototype.entries",function(a){return a?a:a=function(){return tn_b.iteratorFromArray(this,function(b,c){return[b,c]})}},"es6","es3");function tn_aa(a){return a in tn_ba?tn_ba[a]:tn_ba[a]=-1!=navigator.userAgent.toLowerCase().indexOf(a)}var tn_ba={},tn_ca={ieQuirks_:function(a){return a.document.body.scrollTop},ieStandards_:function(a){return a.document.documentElement.scrollTop},dom_:function(a){return a.pageYOffset}},tn_da={ieQuirks_:function(a){return a.document.body.scrollLeft},ieStandards_:function(a){return a.document.documentElement.scrollLeft},dom_:function(a){return a.pageXOffset}};
function tn_ea(a,b){try{if(tn_aa("safari")||tn_aa("konqueror"))return b.dom_(a);if(!window.opera&&"compatMode"in a.document&&"CSS1Compat"==a.document.compatMode)return b.ieStandards_(a);if((tn_aa("msie")||tn_aa("trident"))&&!window.opera)return b.ieQuirks_(a)}catch(c){}return b.dom_(a)};function tn_c(a,b,c){this.x=a;this.y=b;this.coordinateFrame=c||null}tn_c.prototype.toString=function(){return"[P "+this.x+","+this.y+"]"};tn_c.prototype.clone=function(){return new tn_c(this.x,this.y,this.coordinateFrame)};function Rect(a,b,c,d,e){this.x=a;this.y=b;this.w=c;this.h=d;this.coordinateFrame=e||null}Rect.prototype.contains=function(a){return this.x<=a.x&&a.x<this.x+this.w&&this.y<=a.y&&a.y<this.y+this.h};
Rect.prototype.intersects=function(a){var b=function(c,d){return new tn_c(c,d,null)};return this.contains(b(a.x,a.y))||this.contains(b(a.x+a.w,a.y))||this.contains(b(a.x+a.w,a.y+a.h))||this.contains(b(a.x,a.y+a.h))||a.contains(b(this.x,this.y))||a.contains(b(this.x+this.w,this.y))||a.contains(b(this.x+this.w,this.y+this.h))||a.contains(b(this.x,this.y+this.h))};Rect.prototype.toString=function(){return"[R "+this.w+"x"+this.h+"+"+this.x+"+"+this.y+"]"};
Rect.prototype.clone=function(){return new Rect(this.x,this.y,this.w,this.h,this.coordinateFrame)};function tn_fa(a){function b(g){for(var l=a.offsetParent;l&&l.offsetParent;l=l.offsetParent)l.scrollLeft&&(g.x-=l.scrollLeft),l.scrollTop&&(g.y-=l.scrollTop)}if(!a)return null;var c=a.ownerDocument&&a.ownerDocument.parentWindow?a.ownerDocument.parentWindow:a.ownerDocument&&a.ownerDocument.defaultView?a.ownerDocument.defaultView:window;if(a.getBoundingClientRect){var d=a.getBoundingClientRect();return new Rect(d.left+tn_ea(c,tn_da),d.top+tn_ea(c,tn_ca),d.right-d.left,d.bottom-d.top,c)}if(a.ownerDocument&&
a.ownerDocument.getBoxObjectFor)return d=a.ownerDocument.getBoxObjectFor(a),c=new Rect(d.x,d.y,d.width,d.height,c),b(c),c;for(var e=d=0,f=a;f.offsetParent;f=f.offsetParent)d+=f.offsetLeft,e+=f.offsetTop;c=new Rect(d,e,a.offsetWidth,a.offsetHeight,c);b(c);return c};/*

 Copyright The Closure Library Authors.
 SPDX-License-Identifier: Apache-2.0
*/
var tn_=tn_||{};tn_.global=this||self;tn_.exportPath_=function(a,b,c,d){a=a.split(".");d=d||tn_.global;a[0]in d||"undefined"==typeof d.execScript||d.execScript("var "+a[0]);for(var e;a.length&&(e=a.shift());)if(a.length||void 0===b)d=d[e]&&d[e]!==Object.prototype[e]?d[e]:d[e]={};else if(!c&&tn_.isObject(b)&&tn_.isObject(d[e]))for(var f in b)b.hasOwnProperty(f)&&(d[e][f]=b[f]);else d[e]=b};tn_.define=function(a,b){return a=b};tn_.FEATURESET_YEAR=2012;tn_.DEBUG=!0;tn_.LOCALE="en";tn_.TRUSTED_SITE=!0;
tn_.DISALLOW_TEST_ONLY_CODE=!tn_.DEBUG;tn_.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;tn_.provide=function(a){if(tn_.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");tn_.constructNamespace_(a)};tn_.constructNamespace_=function(a,b,c){tn_.exportPath_(a,b,c)};tn_.getScriptNonce=function(a){if(a&&a!=tn_.global)return tn_.getScriptNonce_(a.document);null===tn_.cspNonce_&&(tn_.cspNonce_=tn_.getScriptNonce_(tn_.global.document));return tn_.cspNonce_};tn_.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/;
tn_.cspNonce_=null;tn_.getScriptNonce_=function(a){return(a=a.querySelector&&a.querySelector("script[nonce]"))&&(a=a.nonce||a.getAttribute("nonce"))&&tn_.NONCE_PATTERN_.test(a)?a:""};tn_.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
tn_.module=function(a){if("string"!==typeof a||!a||-1==a.search(tn_.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!tn_.isInGoogModuleLoader_())throw Error("Module "+a+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(tn_.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");
tn_.moduleLoaderState_.moduleName=a};tn_.module.get=function(){return null};tn_.module.getInternal_=function(){return null};tn_.ModuleType={ES6:"es6",GOOG:"goog"};tn_.moduleLoaderState_=null;tn_.isInModuleLoader_=function(){return tn_.isInGoogModuleLoader_()||tn_.isInEs6ModuleLoader_()};tn_.isInGoogModuleLoader_=function(){return!!tn_.moduleLoaderState_&&tn_.moduleLoaderState_.type==tn_.ModuleType.GOOG};
tn_.isInEs6ModuleLoader_=function(){var a=!!tn_.moduleLoaderState_&&tn_.moduleLoaderState_.type==tn_.ModuleType.ES6;return a?!0:(a=tn_.global.$jscomp)?"function"!=typeof a.getCurrentModulePath?!1:!!a.getCurrentModulePath():!1};tn_.module.declareLegacyNamespace=function(){tn_.moduleLoaderState_.declareLegacyNamespace=!0};
tn_.declareModuleId=function(a){if(tn_.moduleLoaderState_)tn_.moduleLoaderState_.moduleName=a;else{var b=tn_.global.$jscomp;if(!b||"function"!=typeof b.getCurrentModulePath)throw Error('Module with namespace "'+a+'" has been loaded incorrectly.');b=b.require(b.getCurrentModulePath());tn_.loadedModules_[a]={exports:b,type:tn_.ModuleType.ES6,moduleId:a}}};
tn_.setTestOnly=function(a){if(tn_.DISALLOW_TEST_ONLY_CODE)throw a=a||"",Error("Importing test-only code into non-debug environment"+(a?": "+a:"."));};tn_.forwardDeclare=function(){};tn_.getObjectByName=function(a,b){a=a.split(".");b=b||tn_.global;for(var c=0;c<a.length;c++)if(b=b[a[c]],null==b)return null;return b};tn_.addDependency=function(){};tn_.useStrictRequires=!1;tn_.ENABLE_DEBUG_LOADER=!0;tn_.logToConsole_=function(a){tn_.global.console&&tn_.global.console.error(a)};tn_.require=function(){};
tn_.requireType=function(){return{}};tn_.basePath="";tn_.nullFunction=function(){};tn_.abstractMethod=function(){throw Error("unimplemented abstract method");};tn_.addSingletonGetter=function(a){a.instance_=void 0;a.getInstance=function(){if(a.instance_)return a.instance_;tn_.DEBUG&&(tn_.instantiatedSingletons_[tn_.instantiatedSingletons_.length]=a);return a.instance_=new a}};tn_.instantiatedSingletons_=[];tn_.LOAD_MODULE_USING_EVAL=!0;tn_.SEAL_MODULE_EXPORTS=tn_.DEBUG;tn_.loadedModules_={};
tn_.DEPENDENCIES_ENABLED=!1;tn_.TRANSPILE="detect";tn_.ASSUME_ES_MODULES_TRANSPILED=!1;tn_.TRANSPILE_TO_LANGUAGE="";tn_.TRANSPILER="transpile.js";tn_.hasBadLetScoping=null;tn_.useSafari10Workaround=function(){if(null==tn_.hasBadLetScoping){try{var a=!eval('"use strict";let x = 1; function f() { return typeof x; };f() == "number";')}catch(b){a=!1}tn_.hasBadLetScoping=a}return tn_.hasBadLetScoping};tn_.workaroundSafari10EvalBug=function(a){return"(function(){"+a+"\n;})();\n"};
tn_.loadModule=function(a){var b=tn_.moduleLoaderState_;try{tn_.moduleLoaderState_={moduleName:"",declareLegacyNamespace:!1,type:tn_.ModuleType.GOOG};var c={},d=c;if("function"===typeof a)d=a.call(void 0,d);else if("string"===typeof a)tn_.useSafari10Workaround()&&(a=tn_.workaroundSafari10EvalBug(a)),d=tn_.loadModuleFromSource_.call(void 0,d,a);else throw Error("Invalid module definition");var e=tn_.moduleLoaderState_.moduleName;if("string"===typeof e&&e){tn_.moduleLoaderState_.declareLegacyNamespace?
(a=c!==d,tn_.constructNamespace_(e,d,a)):tn_.SEAL_MODULE_EXPORTS&&Object.seal&&"object"==typeof d&&null!=d&&Object.seal(d);var f={exports:d,type:tn_.ModuleType.GOOG,moduleId:tn_.moduleLoaderState_.moduleName};tn_.loadedModules_[e]=f}else throw Error('Invalid module name "'+e+'"');}finally{tn_.moduleLoaderState_=b}};tn_.loadModuleFromSource_=function(a,b){eval(b);return a};
tn_.normalizePath_=function(a){a=a.split("/");for(var b=0;b<a.length;)"."==a[b]?a.splice(b,1):b&&".."==a[b]&&a[b-1]&&".."!=a[b-1]?a.splice(--b,2):b++;return a.join("/")};tn_.loadFileSync_=function(a){if(tn_.global.CLOSURE_LOAD_FILE_SYNC)return tn_.global.CLOSURE_LOAD_FILE_SYNC(a);try{var b=new tn_.global.XMLHttpRequest;b.open("get",a,!1);b.send();return 0==b.status||200==b.status?b.responseText:null}catch(c){return null}};
tn_.transpile_=function(a,b,c){var d=tn_.global.$jscomp;d||(tn_.global.$jscomp=d={});var e=d.transpile;if(!e){var f=tn_.basePath+tn_.TRANSPILER,g=tn_.loadFileSync_(f);if(g){(function(){(0,eval)(g+"\n//# sourceURL="+f)}).call(tn_.global);if(tn_.global.$gwtExport&&tn_.global.$gwtExport.$jscomp&&!tn_.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(tn_.global.$gwtExport));tn_.global.$jscomp.transpile=tn_.global.$gwtExport.$jscomp.transpile;
d=tn_.global.$jscomp;e=d.transpile}}if(!e){var l=" requires transpilation but no transpiler was found.";l+=' Please add "//javascript/closure:transpiler" as a data dependency to ensure it is included.';e=d.transpile=function(n,k){tn_.logToConsole_(k+l);return n}}return e(a,b,c)};tn_.typeOf=function(a){var b=typeof a;return"object"!=b?b:a?Array.isArray(a)?"array":b:"null"};tn_.isArrayLike=function(a){var b=tn_.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length};
tn_.isDateLike=function(a){return tn_.isObject(a)&&"function"==typeof a.getFullYear};tn_.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};tn_.getUid=function(a){return Object.prototype.hasOwnProperty.call(a,tn_.UID_PROPERTY_)&&a[tn_.UID_PROPERTY_]||(a[tn_.UID_PROPERTY_]=++tn_.uidCounter_)};tn_.hasUid=function(a){return!!a[tn_.UID_PROPERTY_]};tn_.removeUid=function(a){null!==a&&"removeAttribute"in a&&a.removeAttribute(tn_.UID_PROPERTY_);try{delete a[tn_.UID_PROPERTY_]}catch(b){}};
tn_.UID_PROPERTY_="closure_uid_"+(1E9*Math.random()>>>0);tn_.uidCounter_=0;tn_.cloneObject=function(a){var b=tn_.typeOf(a);if("object"==b||"array"==b){if("function"===typeof a.clone)return a.clone();b="array"==b?[]:{};for(var c in a)b[c]=tn_.cloneObject(a[c]);return b}return a};tn_.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};
tn_.bindJs_=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var e=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(e,d);return a.apply(b,e)}}return function(){return a.apply(b,arguments)}};tn_.bind=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?tn_.bind=tn_.bindNative_:tn_.bind=tn_.bindJs_;return tn_.bind.apply(null,arguments)};
tn_.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}};tn_.mixin=function(a,b){for(var c in b)a[c]=b[c]};tn_.now=function(){return Date.now()};tn_.globalEval=function(a){(0,eval)(a)};
tn_.getCssName=function(a,b){if("."==String(a).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+a);var c=function(e){return tn_.cssNameMapping_[e]||e},d=function(e){e=e.split("-");for(var f=[],g=0;g<e.length;g++)f.push(c(e[g]));return f.join("-")};d=tn_.cssNameMapping_?"BY_WHOLE"==tn_.cssNameMappingStyle_?c:d:function(e){return e};a=b?a+"-"+d(b):d(a);return tn_.global.CLOSURE_CSS_NAME_MAP_FN?tn_.global.CLOSURE_CSS_NAME_MAP_FN(a):a};
tn_.setCssNameMapping=function(a,b){tn_.cssNameMapping_=a;tn_.cssNameMappingStyle_=b};tn_.getMsg=function(a,b,c){c&&c.html&&(a=a.replace(/</g,"&lt;"));c&&c.unescapeHtmlEntities&&(a=a.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&apos;/g,"'").replace(/&quot;/g,'"').replace(/&amp;/g,"&"));b&&(a=a.replace(/\{\$([^}]+)}/g,function(d,e){return null!=b&&e in b?b[e]:d}));return a};tn_.getMsgWithFallback=function(a){return a};tn_.exportSymbol=function(a,b,c){tn_.exportPath_(a,b,!0,c)};
tn_.exportProperty=function(a,b,c){a[b]=c};tn_.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(d,e,f){for(var g=Array(arguments.length-2),l=2;l<arguments.length;l++)g[l-2]=arguments[l];return b.prototype[e].apply(d,g)}};tn_.scope=function(a){if(tn_.isInModuleLoader_())throw Error("goog.scope is not supported within a module.");a.call(tn_.global)};
tn_.defineClass=function(a,b){var c=b.constructor,d=b.statics;c&&c!=Object.prototype.constructor||(c=function(){throw Error("cannot instantiate an interface (no constructor defined).");});c=tn_.defineClass.createSealingConstructor_(c,a);a&&tn_.inherits(c,a);delete b.constructor;delete b.statics;tn_.defineClass.applyProperties_(c.prototype,b);null!=d&&(d instanceof Function?d(c):tn_.defineClass.applyProperties_(c,d));return c};tn_.defineClass.SEAL_CLASS_INSTANCES=tn_.DEBUG;
tn_.defineClass.createSealingConstructor_=function(a){if(!tn_.defineClass.SEAL_CLASS_INSTANCES)return a;var b=function(){var c=a.apply(this,arguments)||this;c[tn_.UID_PROPERTY_]=c[tn_.UID_PROPERTY_];return c};return b};tn_.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
tn_.defineClass.applyProperties_=function(a,b){for(var c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c]);for(var d=0;d<tn_.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;d++)c=tn_.defineClass.OBJECT_PROTOTYPE_FIELDS_[d],Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c])};tn_.TRUSTED_TYPES_POLICY_NAME="goog";tn_.identity_=function(a){return a};
tn_.createTrustedTypesPolicy=function(a){var b=null,c=tn_.global.trustedTypes;if(!c||!c.createPolicy)return b;try{b=c.createPolicy(a,{createHTML:tn_.identity_,createScript:tn_.identity_,createScriptURL:tn_.identity_})}catch(d){tn_.logToConsole_(d.message)}return b};tn_.debug={};function tn_ga(a){if(Error.captureStackTrace)Error.captureStackTrace(this,tn_ga);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))}tn_.inherits(tn_ga,Error);tn_ga.prototype.name="CustomError";tn_.debug.Error=tn_ga;tn_.dom={};tn_.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};tn_.asserts={};tn_.asserts.ENABLE_ASSERTS=tn_.DEBUG;tn_.asserts.AssertionError=function(a,b){tn_ga.call(this,tn_.asserts.subs_(a,b))};tn_.inherits(tn_.asserts.AssertionError,tn_ga);tn_.asserts.AssertionError.prototype.name="AssertionError";tn_.asserts.DEFAULT_ERROR_HANDLER=function(a){throw a;};tn_.asserts.errorHandler_=tn_.asserts.DEFAULT_ERROR_HANDLER;tn_.asserts.subs_=function(a,b){a=a.split("%s");for(var c="",d=a.length-1,e=0;e<d;e++){var f=e<b.length?b[e]:"%s";c+=a[e]+f}return c+a[d]};
tn_.asserts.doAssertFailure_=function(a,b,c,d){var e="Assertion failed";if(c){e+=": "+c;var f=d}else a&&(e+=": "+a,f=b);a=new tn_.asserts.AssertionError(""+e,f||[]);tn_.asserts.errorHandler_(a)};tn_.asserts.setErrorHandler=function(a){tn_.asserts.ENABLE_ASSERTS&&(tn_.asserts.errorHandler_=a)};tn_.asserts.assert=function(a,b,c){tn_.asserts.ENABLE_ASSERTS&&!a&&tn_.asserts.doAssertFailure_("",null,b,Array.prototype.slice.call(arguments,2));return a};
tn_.asserts.assertExists=function(a,b,c){tn_.asserts.ENABLE_ASSERTS&&null==a&&tn_.asserts.doAssertFailure_("Expected to exist: %s.",[a],b,Array.prototype.slice.call(arguments,2));return a};tn_.asserts.fail=function(a,b){tn_.asserts.ENABLE_ASSERTS&&tn_.asserts.errorHandler_(new tn_.asserts.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1)))};
tn_.asserts.assertNumber=function(a,b,c){tn_.asserts.ENABLE_ASSERTS&&"number"!==typeof a&&tn_.asserts.doAssertFailure_("Expected number but got %s: %s.",[tn_.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};tn_.asserts.assertString=function(a,b,c){tn_.asserts.ENABLE_ASSERTS&&"string"!==typeof a&&tn_.asserts.doAssertFailure_("Expected string but got %s: %s.",[tn_.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
tn_.asserts.assertFunction=function(a,b,c){tn_.asserts.ENABLE_ASSERTS&&"function"!==typeof a&&tn_.asserts.doAssertFailure_("Expected function but got %s: %s.",[tn_.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};tn_.asserts.assertObject=function(a,b,c){tn_.asserts.ENABLE_ASSERTS&&!tn_.isObject(a)&&tn_.asserts.doAssertFailure_("Expected object but got %s: %s.",[tn_.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
tn_.asserts.assertArray=function(a,b,c){tn_.asserts.ENABLE_ASSERTS&&!Array.isArray(a)&&tn_.asserts.doAssertFailure_("Expected array but got %s: %s.",[tn_.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};tn_.asserts.assertBoolean=function(a,b,c){tn_.asserts.ENABLE_ASSERTS&&"boolean"!==typeof a&&tn_.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[tn_.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
tn_.asserts.assertElement=function(a,b,c){!tn_.asserts.ENABLE_ASSERTS||tn_.isObject(a)&&a.nodeType==tn_.dom.NodeType.ELEMENT||tn_.asserts.doAssertFailure_("Expected Element but got %s: %s.",[tn_.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
tn_.asserts.assertInstanceof=function(a,b,c,d){!tn_.asserts.ENABLE_ASSERTS||a instanceof b||tn_.asserts.doAssertFailure_("Expected instanceof %s but got %s.",[tn_.asserts.getType_(b),tn_.asserts.getType_(a)],c,Array.prototype.slice.call(arguments,3));return a};tn_.asserts.assertFinite=function(a,b,c){!tn_.asserts.ENABLE_ASSERTS||"number"==typeof a&&isFinite(a)||tn_.asserts.doAssertFailure_("Expected %s to be a finite number but it is not.",[a],b,Array.prototype.slice.call(arguments,2));return a};
tn_.asserts.assertObjectPrototypeIsIntact=function(){for(var a in Object.prototype)tn_.asserts.fail(a+" should not be enumerable in Object.prototype.")};tn_.asserts.getType_=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};tn_.dom.asserts={};tn_.dom.asserts.assertIsLocation=function(a){if(tn_.asserts.ENABLE_ASSERTS){var b=tn_.dom.asserts.getWindow_(a);b&&(!a||!(a instanceof b.Location)&&a instanceof b.Element)&&tn_.asserts.fail("Argument is not a Location (or a non-Element mock); got: %s",tn_.dom.asserts.debugStringForType_(a))}return a};
tn_.dom.asserts.assertIsElementType_=function(a,b){if(tn_.asserts.ENABLE_ASSERTS){var c=tn_.dom.asserts.getWindow_(a);c&&"undefined"!=typeof c[b]&&(a&&(a instanceof c[b]||!(a instanceof c.Location||a instanceof c.Element))||tn_.asserts.fail("Argument is not a %s (or a non-Element, non-Location mock); got: %s",b,tn_.dom.asserts.debugStringForType_(a)))}return a};tn_.dom.asserts.assertIsHTMLAnchorElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLAnchorElement")};
tn_.dom.asserts.assertIsHTMLButtonElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLButtonElement")};tn_.dom.asserts.assertIsHTMLLinkElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLLinkElement")};tn_.dom.asserts.assertIsHTMLImageElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLImageElement")};tn_.dom.asserts.assertIsHTMLAudioElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLAudioElement")};
tn_.dom.asserts.assertIsHTMLVideoElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLVideoElement")};tn_.dom.asserts.assertIsHTMLInputElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLInputElement")};tn_.dom.asserts.assertIsHTMLTextAreaElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLTextAreaElement")};tn_.dom.asserts.assertIsHTMLCanvasElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLCanvasElement")};
tn_.dom.asserts.assertIsHTMLEmbedElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLEmbedElement")};tn_.dom.asserts.assertIsHTMLFormElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLFormElement")};tn_.dom.asserts.assertIsHTMLFrameElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLFrameElement")};tn_.dom.asserts.assertIsHTMLIFrameElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLIFrameElement")};
tn_.dom.asserts.assertIsHTMLObjectElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLObjectElement")};tn_.dom.asserts.assertIsHTMLScriptElement=function(a){return tn_.dom.asserts.assertIsElementType_(a,"HTMLScriptElement")};
tn_.dom.asserts.debugStringForType_=function(a){if(tn_.isObject(a))try{return a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a)}catch(b){return"<object could not be stringified>"}else return void 0===a?"undefined":null===a?"null":typeof a};tn_.dom.asserts.getWindow_=function(a){try{var b=a&&a.ownerDocument,c=b&&(b.defaultView||b.parentWindow);c=c||tn_.global;if(c.Element&&c.Location)return c}catch(d){}return null};tn_.array={};tn_.NATIVE_ARRAY_PROTOTYPES=tn_.TRUSTED_SITE;var tn_d=2012<tn_.FEATURESET_YEAR;tn_.array.ASSUME_NATIVE_FUNCTIONS=tn_d;function tn_ha(a){return a[a.length-1]}tn_.array.peek=tn_ha;tn_.array.last=tn_ha;
var tn_ia=tn_.NATIVE_ARRAY_PROTOTYPES&&(tn_d||Array.prototype.indexOf)?function(a,b,c){tn_.asserts.assert(null!=a.length);return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if("string"===typeof a)return"string"!==typeof b||1!=b.length?-1:a.indexOf(b,c);for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};tn_.array.indexOf=tn_ia;
var tn_ja=tn_.NATIVE_ARRAY_PROTOTYPES&&(tn_d||Array.prototype.lastIndexOf)?function(a,b,c){tn_.asserts.assert(null!=a.length);c=null==c?a.length-1:c;return Array.prototype.lastIndexOf.call(a,b,c)}:function(a,b,c){c=null==c?a.length-1:c;0>c&&(c=Math.max(0,a.length+c));if("string"===typeof a)return"string"!==typeof b||1!=b.length?-1:a.lastIndexOf(b,c);for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1};tn_.array.lastIndexOf=tn_ja;
var tn_e=tn_.NATIVE_ARRAY_PROTOTYPES&&(tn_d||Array.prototype.forEach)?function(a,b,c){tn_.asserts.assert(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e="string"===typeof a?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};tn_.array.forEach=tn_e;function tn_ka(a,b,c){var d=a.length,e="string"===typeof a?a.split(""):a;for(--d;0<=d;--d)d in e&&b.call(c,e[d],d,a)}tn_.array.forEachRight=tn_ka;
var tn_la=tn_.NATIVE_ARRAY_PROTOTYPES&&(tn_d||Array.prototype.filter)?function(a,b,c){tn_.asserts.assert(null!=a.length);return Array.prototype.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g="string"===typeof a?a.split(""):a,l=0;l<d;l++)if(l in g){var n=g[l];b.call(c,n,l,a)&&(e[f++]=n)}return e};tn_.array.filter=tn_la;
var tn_f=tn_.NATIVE_ARRAY_PROTOTYPES&&(tn_d||Array.prototype.map)?function(a,b,c){tn_.asserts.assert(null!=a.length);return Array.prototype.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f="string"===typeof a?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e};tn_.array.map=tn_f;
var tn_ma=tn_.NATIVE_ARRAY_PROTOTYPES&&(tn_d||Array.prototype.reduce)?function(a,b,c,d){tn_.asserts.assert(null!=a.length);d&&(b=tn_.bind(b,d));return Array.prototype.reduce.call(a,b,c)}:function(a,b,c,d){var e=c;tn_e(a,function(f,g){e=b.call(d,e,f,g,a)});return e};tn_.array.reduce=tn_ma;
var tn_na=tn_.NATIVE_ARRAY_PROTOTYPES&&(tn_d||Array.prototype.reduceRight)?function(a,b,c,d){tn_.asserts.assert(null!=a.length);tn_.asserts.assert(null!=b);d&&(b=tn_.bind(b,d));return Array.prototype.reduceRight.call(a,b,c)}:function(a,b,c,d){var e=c;tn_ka(a,function(f,g){e=b.call(d,e,f,g,a)});return e};tn_.array.reduceRight=tn_na;
var tn_oa=tn_.NATIVE_ARRAY_PROTOTYPES&&(tn_d||Array.prototype.some)?function(a,b,c){tn_.asserts.assert(null!=a.length);return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e="string"===typeof a?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1};tn_.array.some=tn_oa;
var tn_pa=tn_.NATIVE_ARRAY_PROTOTYPES&&(tn_d||Array.prototype.every)?function(a,b,c){tn_.asserts.assert(null!=a.length);return Array.prototype.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e="string"===typeof a?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};tn_.array.every=tn_pa;function tn_qa(a,b,c){var d=0;tn_e(a,function(e,f,g){b.call(c,e,f,g)&&++d},c);return d}tn_.array.count=tn_qa;
function tn_ra(a,b,c){b=tn_sa(a,b,c);return 0>b?null:"string"===typeof a?a.charAt(b):a[b]}tn_.array.find=tn_ra;function tn_sa(a,b,c){for(var d=a.length,e="string"===typeof a?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1}tn_.array.findIndex=tn_sa;function tn_ta(a,b,c){b=tn_ua(a,b,c);return 0>b?null:"string"===typeof a?a.charAt(b):a[b]}tn_.array.findRight=tn_ta;
function tn_ua(a,b,c){var d=a.length,e="string"===typeof a?a.split(""):a;for(--d;0<=d;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1}tn_.array.findIndexRight=tn_ua;function tn_g(a,b){return 0<=tn_ia(a,b)}tn_.array.contains=tn_g;function tn_va(a){return 0==a.length}tn_.array.isEmpty=tn_va;function tn_wa(a){if(!Array.isArray(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0}tn_.array.clear=tn_wa;function tn_xa(a,b){tn_g(a,b)||a.push(b)}tn_.array.insert=tn_xa;
function tn_ya(a,b,c){tn_za(a,c,0,b)}tn_.array.insertAt=tn_ya;function tn_Aa(a,b,c){tn_.partial(tn_za,a,c,0).apply(null,b)}tn_.array.insertArrayAt=tn_Aa;function tn_Ba(a,b,c){var d;2==arguments.length||0>(d=tn_ia(a,c))?a.push(b):tn_ya(a,b,d)}tn_.array.insertBefore=tn_Ba;function tn_Ca(a,b){b=tn_ia(a,b);var c;(c=0<=b)&&tn_Da(a,b);return c}tn_.array.remove=tn_Ca;function tn_Ea(a,b){b=tn_ja(a,b);return 0<=b?(tn_Da(a,b),!0):!1}tn_.array.removeLast=tn_Ea;
function tn_Da(a,b){tn_.asserts.assert(null!=a.length);return 1==Array.prototype.splice.call(a,b,1).length}tn_.array.removeAt=tn_Da;function tn_Fa(a,b,c){b=tn_sa(a,b,c);return 0<=b?(tn_Da(a,b),!0):!1}tn_.array.removeIf=tn_Fa;function tn_Ga(a,b,c){var d=0;tn_ka(a,function(e,f){b.call(c,e,f,a)&&tn_Da(a,f)&&d++});return d}tn_.array.removeAllIf=tn_Ga;function tn_Ha(a){return Array.prototype.concat.apply([],arguments)}tn_.array.concat=tn_Ha;
function tn_Ia(a){return Array.prototype.concat.apply([],arguments)}tn_.array.join=tn_Ia;function tn_h(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]}var tn_Ja=tn_.array.toArray=tn_h;tn_.array.clone=tn_Ja;function tn_Ka(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(tn_.isArrayLike(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var g=0;g<f;g++)a[e+g]=d[g]}else a.push(d)}}tn_.array.extend=tn_Ka;
function tn_za(a,b,c,d){tn_.asserts.assert(null!=a.length);return Array.prototype.splice.apply(a,tn_La(arguments,1))}tn_.array.splice=tn_za;function tn_La(a,b,c){tn_.asserts.assert(null!=a.length);return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)}tn_.array.slice=tn_La;
function tn_Ma(a,b,c){b=b||a;var d=function(n){return tn_.isObject(n)?"o"+tn_.getUid(n):(typeof n).charAt(0)+n};c=c||d;d={};for(var e=0,f=0;f<a.length;){var g=a[f++],l=c(g);Object.prototype.hasOwnProperty.call(d,l)||(d[l]=!0,b[e++]=g)}b.length=e}tn_.array.removeDuplicates=tn_Ma;function tn_Na(a,b,c){return tn_Oa(a,c||tn_i,!1,b)}tn_.array.binarySearch=tn_Na;function tn_Pa(a,b,c){return tn_Oa(a,b,!0,void 0,c)}tn_.array.binarySelect=tn_Pa;
function tn_Oa(a,b,c,d,e){for(var f=0,g=a.length,l;f<g;){var n=f+(g-f>>>1);var k=c?b.call(e,a[n],n,a):b(d,a[n]);0<k?f=n+1:(g=n,l=!k)}return l?f:-f-1}function tn_Qa(a,b){a.sort(b||tn_i)}tn_.array.sort=tn_Qa;function tn_Ra(a,b){function c(g,l){return f(g.value,l.value)||g.index-l.index}for(var d=Array(a.length),e=0;e<a.length;e++)d[e]={index:e,value:a[e]};var f=b||tn_i;tn_Qa(d,c);for(e=0;e<a.length;e++)a[e]=d[e].value}tn_.array.stableSort=tn_Ra;
function tn_Sa(a,b,c){var d=c||tn_i;tn_Qa(a,function(e,f){return d(b(e),b(f))})}tn_.array.sortByKey=tn_Sa;function tn_Ta(a,b,c){tn_Sa(a,function(d){return d[b]},c)}tn_.array.sortObjectsByKey=tn_Ta;function tn_Ua(a,b,c){b=b||tn_i;for(var d=1;d<a.length;d++){var e=b(a[d-1],a[d]);if(0<e||0==e&&c)return!1}return!0}tn_.array.isSorted=tn_Ua;
function tn_Va(a,b,c){if(!tn_.isArrayLike(a)||!tn_.isArrayLike(b)||a.length!=b.length)return!1;var d=a.length;c=c||tn_Wa;for(var e=0;e<d;e++)if(!c(a[e],b[e]))return!1;return!0}tn_.array.equals=tn_Va;function tn_Xa(a,b,c){c=c||tn_i;for(var d=Math.min(a.length,b.length),e=0;e<d;e++){var f=c(a[e],b[e]);if(0!=f)return f}return tn_i(a.length,b.length)}tn_.array.compare3=tn_Xa;function tn_i(a,b){return a>b?1:a<b?-1:0}tn_.array.defaultCompare=tn_i;function tn_Ya(a,b){return-tn_i(a,b)}
tn_.array.inverseDefaultCompare=tn_Ya;function tn_Wa(a,b){return a===b}tn_.array.defaultCompareEquality=tn_Wa;function tn_Za(a,b,c){c=tn_Na(a,b,c);return 0>c?(tn_ya(a,b,-(c+1)),!0):!1}tn_.array.binaryInsert=tn_Za;function tn__a(a,b,c){b=tn_Na(a,b,c);return 0<=b?tn_Da(a,b):!1}tn_.array.binaryRemove=tn__a;function tn_0a(a,b,c){for(var d={},e=0;e<a.length;e++){var f=a[e],g=b.call(c,f,e,a);void 0!==g&&(g=d[g]||(d[g]=[]),g.push(f))}return d}tn_.array.bucket=tn_0a;
function tn_1a(a,b,c){var d={};tn_e(a,function(e,f){d[b.call(c,e,f,a)]=e});return d}tn_.array.toObject=tn_1a;function tn_2a(a,b,c){var d=[],e=0,f=a;c=c||1;void 0!==b&&(e=a,f=b);if(0>c*(f-e))return[];if(0<c)for(a=e;a<f;a+=c)d.push(a);else for(a=e;a>f;a+=c)d.push(a);return d}tn_.array.range=tn_2a;function tn_3a(a,b){for(var c=[],d=0;d<b;d++)c[d]=a;return c}tn_.array.repeat=tn_3a;
function tn_4a(a){for(var b=[],c=0;c<arguments.length;c++){var d=arguments[c];if(Array.isArray(d))for(var e=0;e<d.length;e+=8192){var f=tn_La(d,e,e+8192);f=tn_4a.apply(null,f);for(var g=0;g<f.length;g++)b.push(f[g])}else b.push(d)}return b}tn_.array.flatten=tn_4a;function tn_5a(a,b){tn_.asserts.assert(null!=a.length);a.length&&(b%=a.length,0<b?Array.prototype.unshift.apply(a,a.splice(-b,b)):0>b&&Array.prototype.push.apply(a,a.splice(0,-b)));return a}tn_.array.rotate=tn_5a;
function tn_6a(a,b,c){tn_.asserts.assert(0<=b&&b<a.length);tn_.asserts.assert(0<=c&&c<a.length);b=Array.prototype.splice.call(a,b,1);Array.prototype.splice.call(a,c,0,b[0])}tn_.array.moveItem=tn_6a;function tn_7a(a){if(!arguments.length)return[];for(var b=[],c=arguments[0].length,d=1;d<arguments.length;d++)arguments[d].length<c&&(c=arguments[d].length);for(d=0;d<c;d++){for(var e=[],f=0;f<arguments.length;f++)e.push(arguments[f][d]);b.push(e)}return b}tn_.array.zip=tn_7a;
function tn_8a(a,b){b=b||Math.random;for(var c=a.length-1;0<c;c--){var d=Math.floor(b()*(c+1)),e=a[c];a[c]=a[d];a[d]=e}}tn_.array.shuffle=tn_8a;function tn_9a(a,b){var c=[];tn_e(b,function(d){c.push(a[d])});return c}tn_.array.copyByIndex=tn_9a;function tn_$a(a,b,c){return tn_Ha.apply([],tn_f(a,b,c))}tn_.array.concatMap=tn_$a;tn_.dom.HtmlElement=function(){};tn_.functions={};tn_.functions.constant=function(a){return function(){return a}};tn_.functions.FALSE=function(){return!1};tn_.functions.TRUE=function(){return!0};tn_.functions.NULL=function(){return null};tn_.functions.identity=function(a){return a};tn_.functions.error=function(a){return function(){throw Error(a);}};tn_.functions.fail=function(a){return function(){throw a;}};
tn_.functions.lock=function(a,b){b=b||0;return function(){var c=this;return a.apply(c,Array.prototype.slice.call(arguments,0,b))}};tn_.functions.nth=function(a){return function(){return arguments[a]}};tn_.functions.partialRight=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=this;d===tn_.global&&(d=void 0);var e=Array.prototype.slice.call(arguments);e.push.apply(e,c);return a.apply(d,e)}};
tn_.functions.withReturnValue=function(a,b){return tn_.functions.sequence(a,tn_.functions.constant(b))};tn_.functions.equalTo=function(a,b){return function(c){return b?a==c:a===c}};tn_.functions.compose=function(a,b){var c=arguments,d=c.length;return function(){var e=this,f;d&&(f=c[d-1].apply(e,arguments));for(var g=d-2;0<=g;g--)f=c[g].call(e,f);return f}};tn_.functions.sequence=function(a){var b=arguments,c=b.length;return function(){for(var d=this,e,f=0;f<c;f++)e=b[f].apply(d,arguments);return e}};
tn_.functions.and=function(a){var b=arguments,c=b.length;return function(){for(var d=this,e=0;e<c;e++)if(!b[e].apply(d,arguments))return!1;return!0}};tn_.functions.or=function(a){var b=arguments,c=b.length;return function(){for(var d=this,e=0;e<c;e++)if(b[e].apply(d,arguments))return!0;return!1}};tn_.functions.not=function(a){return function(){var b=this;return!a.apply(b,arguments)}};
tn_.functions.create=function(a,b){var c=function(){};c.prototype=a.prototype;c=new c;a.apply(c,Array.prototype.slice.call(arguments,1));return c};tn_.functions.CACHE_RETURN_VALUE=!0;tn_.functions.cacheReturnValue=function(a){var b=!1,c;return function(){if(!tn_.functions.CACHE_RETURN_VALUE)return a();b||(c=a(),b=!0);return c}};tn_.functions.once=function(a){var b=a;return function(){if(b){var c=b;b=null;c()}}};
tn_.functions.debounce=function(a,b,c){var d=0;return function(e){tn_.global.clearTimeout(d);var f=arguments;d=tn_.global.setTimeout(function(){a.apply(c,f)},b)}};tn_.functions.throttle=function(a,b,c){var d=0,e=!1,f=[],g=function(){d=0;e&&(e=!1,l())},l=function(){d=tn_.global.setTimeout(g,b);a.apply(c,f)};return function(n){f=arguments;d?e=!0:l()}};tn_.functions.rateLimit=function(a,b,c){var d=0,e=function(){d=0};return function(f){d||(d=tn_.global.setTimeout(e,b),a.apply(c,arguments))}};
tn_.functions.isFunction=function(a){return"function"===typeof a};tn_.dom.TagName=function(){};tn_.dom.TagName.cast=function(a){return a};tn_.dom.TagName.prototype.toString=function(){};tn_.dom.TagName.A="A";tn_.dom.TagName.ABBR="ABBR";tn_.dom.TagName.ACRONYM="ACRONYM";tn_.dom.TagName.ADDRESS="ADDRESS";tn_.dom.TagName.APPLET="APPLET";tn_.dom.TagName.AREA="AREA";tn_.dom.TagName.ARTICLE="ARTICLE";tn_.dom.TagName.ASIDE="ASIDE";tn_.dom.TagName.AUDIO="AUDIO";tn_.dom.TagName.B="B";tn_.dom.TagName.BASE="BASE";tn_.dom.TagName.BASEFONT="BASEFONT";tn_.dom.TagName.BDI="BDI";
tn_.dom.TagName.BDO="BDO";tn_.dom.TagName.BIG="BIG";tn_.dom.TagName.BLOCKQUOTE="BLOCKQUOTE";tn_.dom.TagName.BODY="BODY";tn_.dom.TagName.BR="BR";tn_.dom.TagName.BUTTON="BUTTON";tn_.dom.TagName.CANVAS="CANVAS";tn_.dom.TagName.CAPTION="CAPTION";tn_.dom.TagName.CENTER="CENTER";tn_.dom.TagName.CITE="CITE";tn_.dom.TagName.CODE="CODE";tn_.dom.TagName.COL="COL";tn_.dom.TagName.COLGROUP="COLGROUP";tn_.dom.TagName.COMMAND="COMMAND";tn_.dom.TagName.DATA="DATA";tn_.dom.TagName.DATALIST="DATALIST";
tn_.dom.TagName.DD="DD";tn_.dom.TagName.DEL="DEL";tn_.dom.TagName.DETAILS="DETAILS";tn_.dom.TagName.DFN="DFN";tn_.dom.TagName.DIALOG="DIALOG";tn_.dom.TagName.DIR="DIR";tn_.dom.TagName.DIV="DIV";tn_.dom.TagName.DL="DL";tn_.dom.TagName.DT="DT";tn_.dom.TagName.EM="EM";tn_.dom.TagName.EMBED="EMBED";tn_.dom.TagName.FIELDSET="FIELDSET";tn_.dom.TagName.FIGCAPTION="FIGCAPTION";tn_.dom.TagName.FIGURE="FIGURE";tn_.dom.TagName.FONT="FONT";tn_.dom.TagName.FOOTER="FOOTER";tn_.dom.TagName.FORM="FORM";
tn_.dom.TagName.FRAME="FRAME";tn_.dom.TagName.FRAMESET="FRAMESET";tn_.dom.TagName.H1="H1";tn_.dom.TagName.H2="H2";tn_.dom.TagName.H3="H3";tn_.dom.TagName.H4="H4";tn_.dom.TagName.H5="H5";tn_.dom.TagName.H6="H6";tn_.dom.TagName.HEAD="HEAD";tn_.dom.TagName.HEADER="HEADER";tn_.dom.TagName.HGROUP="HGROUP";tn_.dom.TagName.HR="HR";tn_.dom.TagName.HTML="HTML";tn_.dom.TagName.I="I";tn_.dom.TagName.IFRAME="IFRAME";tn_.dom.TagName.IMG="IMG";tn_.dom.TagName.INPUT="INPUT";tn_.dom.TagName.INS="INS";
tn_.dom.TagName.ISINDEX="ISINDEX";tn_.dom.TagName.KBD="KBD";tn_.dom.TagName.KEYGEN="KEYGEN";tn_.dom.TagName.LABEL="LABEL";tn_.dom.TagName.LEGEND="LEGEND";tn_.dom.TagName.LI="LI";tn_.dom.TagName.LINK="LINK";tn_.dom.TagName.MAIN="MAIN";tn_.dom.TagName.MAP="MAP";tn_.dom.TagName.MARK="MARK";tn_.dom.TagName.MATH="MATH";tn_.dom.TagName.MENU="MENU";tn_.dom.TagName.MENUITEM="MENUITEM";tn_.dom.TagName.META="META";tn_.dom.TagName.METER="METER";tn_.dom.TagName.NAV="NAV";tn_.dom.TagName.NOFRAMES="NOFRAMES";
tn_.dom.TagName.NOSCRIPT="NOSCRIPT";tn_.dom.TagName.OBJECT="OBJECT";tn_.dom.TagName.OL="OL";tn_.dom.TagName.OPTGROUP="OPTGROUP";tn_.dom.TagName.OPTION="OPTION";tn_.dom.TagName.OUTPUT="OUTPUT";tn_.dom.TagName.P="P";tn_.dom.TagName.PARAM="PARAM";tn_.dom.TagName.PICTURE="PICTURE";tn_.dom.TagName.PRE="PRE";tn_.dom.TagName.PROGRESS="PROGRESS";tn_.dom.TagName.Q="Q";tn_.dom.TagName.RP="RP";tn_.dom.TagName.RT="RT";tn_.dom.TagName.RTC="RTC";tn_.dom.TagName.RUBY="RUBY";tn_.dom.TagName.S="S";
tn_.dom.TagName.SAMP="SAMP";tn_.dom.TagName.SCRIPT="SCRIPT";tn_.dom.TagName.SECTION="SECTION";tn_.dom.TagName.SELECT="SELECT";tn_.dom.TagName.SMALL="SMALL";tn_.dom.TagName.SOURCE="SOURCE";tn_.dom.TagName.SPAN="SPAN";tn_.dom.TagName.STRIKE="STRIKE";tn_.dom.TagName.STRONG="STRONG";tn_.dom.TagName.STYLE="STYLE";tn_.dom.TagName.SUB="SUB";tn_.dom.TagName.SUMMARY="SUMMARY";tn_.dom.TagName.SUP="SUP";tn_.dom.TagName.SVG="SVG";tn_.dom.TagName.TABLE="TABLE";tn_.dom.TagName.TBODY="TBODY";
tn_.dom.TagName.TD="TD";tn_.dom.TagName.TEMPLATE="TEMPLATE";tn_.dom.TagName.TEXTAREA="TEXTAREA";tn_.dom.TagName.TFOOT="TFOOT";tn_.dom.TagName.TH="TH";tn_.dom.TagName.THEAD="THEAD";tn_.dom.TagName.TIME="TIME";tn_.dom.TagName.TITLE="TITLE";tn_.dom.TagName.TR="TR";tn_.dom.TagName.TRACK="TRACK";tn_.dom.TagName.TT="TT";tn_.dom.TagName.U="U";tn_.dom.TagName.UL="UL";tn_.dom.TagName.VAR="VAR";tn_.dom.TagName.VIDEO="VIDEO";tn_.dom.TagName.WBR="WBR";tn_.object={};tn_.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};tn_.object.filter=function(a,b,c){var d={},e;for(e in a)b.call(c,a[e],e,a)&&(d[e]=a[e]);return d};tn_.object.map=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d};tn_.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return!0;return!1};tn_.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return!1;return!0};
tn_.object.getCount=function(a){var b=0,c;for(c in a)b++;return b};tn_.object.getAnyKey=function(a){for(var b in a)return b};tn_.object.getAnyValue=function(a){for(var b in a)return a[b]};tn_.object.contains=function(a,b){return tn_.object.containsValue(a,b)};tn_.object.getValues=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};tn_.object.getKeys=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b};
tn_.object.getValueByKeys=function(a,b){var c=tn_.isArrayLike(b),d=c?b:arguments;for(c=c?0:1;c<d.length;c++){if(null==a)return;a=a[d[c]]}return a};tn_.object.containsKey=function(a,b){return null!==a&&b in a};tn_.object.containsValue=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1};tn_.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};tn_.object.findValue=function(a,b,c){return(b=tn_.object.findKey(a,b,c))&&a[b]};
tn_.object.isEmpty=function(a){for(var b in a)return!1;return!0};tn_.object.clear=function(a){for(var b in a)delete a[b]};tn_.object.remove=function(a,b){var c;(c=b in a)&&delete a[b];return c};tn_.object.add=function(a,b,c){if(null!==a&&b in a)throw Error('The object already contains the key "'+b+'"');tn_.object.set(a,b,c)};tn_.object.get=function(a,b,c){return null!==a&&b in a?a[b]:c};tn_.object.set=function(a,b,c){a[b]=c};tn_.object.setIfUndefined=function(a,b,c){return b in a?a[b]:a[b]=c};
tn_.object.setWithReturnValueIfNotSet=function(a,b,c){if(b in a)return a[b];c=c();return a[b]=c};tn_.object.equals=function(a,b){for(var c in a)if(!(c in b)||a[c]!==b[c])return!1;for(var d in b)if(!(d in a))return!1;return!0};tn_.object.clone=function(a){var b={},c;for(c in a)b[c]=a[c];return b};
tn_.object.unsafeClone=function(a){if(!a||"object"!==typeof a)return a;if("function"===typeof a.clone)return a.clone();var b=Array.isArray(a)?[]:"function"!==typeof ArrayBuffer||"function"!==typeof ArrayBuffer.isView||!ArrayBuffer.isView(a)||a instanceof DataView?{}:new a.constructor(a.length),c;for(c in a)b[c]=tn_.object.unsafeClone(a[c]);return b};tn_.object.transpose=function(a){var b={},c;for(c in a)b[a[c]]=c;return b};tn_.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
tn_.object.extend=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<tn_.object.PROTOTYPE_FIELDS_.length;f++)c=tn_.object.PROTOTYPE_FIELDS_[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};tn_.object.create=function(a){var b=arguments.length;if(1==b&&Array.isArray(arguments[0]))return tn_.object.create.apply(null,arguments[0]);if(b%2)throw Error("Uneven number of arguments");for(var c={},d=0;d<b;d+=2)c[arguments[d]]=arguments[d+1];return c};
tn_.object.createSet=function(a){var b=arguments.length;if(1==b&&Array.isArray(arguments[0]))return tn_.object.createSet.apply(null,arguments[0]);for(var c={},d=0;d<b;d++)c[arguments[d]]=!0;return c};tn_.object.createImmutableView=function(a){var b=a;Object.isFrozen&&!Object.isFrozen(a)&&(b=Object.create(a),Object.freeze(b));return b};tn_.object.isImmutableView=function(a){return!!Object.isFrozen&&Object.isFrozen(a)};
tn_.object.getAllPropertyNames=function(a,b,c){if(!a)return[];if(!Object.getOwnPropertyNames||!Object.getPrototypeOf)return tn_.object.getKeys(a);for(var d={};a&&(a!==Object.prototype||b)&&(a!==Function.prototype||c);){for(var e=Object.getOwnPropertyNames(a),f=0;f<e.length;f++)d[e[f]]=!0;a=Object.getPrototypeOf(a)}return tn_.object.getKeys(d)};tn_.object.getSuperClass=function(a){return(a=Object.getPrototypeOf(a.prototype))&&a.constructor};tn_.dom.tags={};tn_.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};tn_.dom.tags.isVoidTag=function(a){return!0===tn_.dom.tags.VOID_TAGS_[a]};tn_.html={};tn_.html.trustedtypes={};tn_.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse=function(){if(!tn_.TRUSTED_TYPES_POLICY_NAME)return null;void 0===tn_.html.trustedtypes.cachedPolicy_&&(tn_.html.trustedtypes.cachedPolicy_=tn_.createTrustedTypesPolicy(tn_.TRUSTED_TYPES_POLICY_NAME+"#html"));return tn_.html.trustedtypes.cachedPolicy_};tn_.string={};tn_.string.TypedString=function(){};tn_.string.Const=function(a,b){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=a===tn_.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_&&b||"";this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=tn_.string.Const.TYPE_MARKER_};tn_.string.Const.prototype.implementsGoogStringTypedString=!0;tn_.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_};
tn_.DEBUG&&(tn_.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"});tn_.string.Const.unwrap=function(a){if(a instanceof tn_.string.Const&&a.constructor===tn_.string.Const&&a.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===tn_.string.Const.TYPE_MARKER_)return a.stringConstValueWithSecurityContract__googStringSecurityPrivate_;tn_.asserts.fail("expected object of type Const, got '"+a+"'");return"type_error:Const"};
tn_.string.Const.from=function(a){return new tn_.string.Const(tn_.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_,a)};tn_.string.Const.TYPE_MARKER_={};tn_.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_={};tn_.string.Const.EMPTY=tn_.string.Const.from("");var tn_ab={},tn_j=function(a,b){this.privateDoNotAccessOrElseSafeScriptWrappedValue_=b===tn_ab?a:"";this.implementsGoogStringTypedString=!0};tn_j.fromConstant=function(a){a=tn_.string.Const.unwrap(a);return 0===a.length?tn_j.EMPTY:tn_j.createSafeScriptSecurityPrivateDoNotAccessOrElse(a)};tn_j.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_.toString()};tn_j.unwrap=function(a){return tn_j.unwrapTrustedScript(a).toString()};
tn_j.unwrapTrustedScript=function(a){if(a instanceof tn_j&&a.constructor===tn_j)return a.privateDoNotAccessOrElseSafeScriptWrappedValue_;(0,tn_.asserts.fail)("expected object of type SafeScript, got '"+a+"' of type "+tn_.typeOf(a));return"type_error:SafeScript"};tn_j.createSafeScriptSecurityPrivateDoNotAccessOrElse=function(a){var b=tn_.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse();a=b?b.createScript(a):a;return new tn_j(a,tn_ab)};
tn_.DEBUG&&(tn_j.prototype.toString=function(){return"SafeScript{"+this.privateDoNotAccessOrElseSafeScriptWrappedValue_+"}"});tn_j.EMPTY=tn_j.createSafeScriptSecurityPrivateDoNotAccessOrElse("");tn_.html.SafeScript=tn_j;tn_.fs={};tn_.fs.url={};tn_.fs.url.createObjectUrl=function(a){return tn_.fs.url.getUrlObject_().createObjectURL(a)};tn_.fs.url.revokeObjectUrl=function(a){tn_.fs.url.getUrlObject_().revokeObjectURL(a)};tn_.fs.url.UrlObject_=function(){};tn_.fs.url.UrlObject_.prototype.createObjectURL=function(){};tn_.fs.url.UrlObject_.prototype.revokeObjectURL=function(){};
tn_.fs.url.getUrlObject_=function(){var a=tn_.fs.url.findUrlObject_();if(null!=a)return a;throw Error("This browser doesn't seem to support blob URLs");};tn_.fs.url.findUrlObject_=function(){return void 0!==tn_.global.URL&&void 0!==tn_.global.URL.createObjectURL?tn_.global.URL:void 0!==tn_.global.webkitURL&&void 0!==tn_.global.webkitURL.createObjectURL?tn_.global.webkitURL:void 0!==tn_.global.createObjectURL?tn_.global:null};tn_.fs.url.browserSupportsObjectUrls=function(){return null!=tn_.fs.url.findUrlObject_()};tn_.fs.blob={};tn_.fs.blob.getBlob=function(a){var b=tn_.global.BlobBuilder||tn_.global.WebKitBlobBuilder;if(void 0!==b){b=new b;for(var c=0;c<arguments.length;c++)b.append(arguments[c]);return b.getBlob()}return tn_.fs.blob.getBlobWithProperties(tn_h(arguments))};
tn_.fs.blob.getBlobWithProperties=function(a,b,c){var d=tn_.global.BlobBuilder||tn_.global.WebKitBlobBuilder;if(void 0!==d){d=new d;for(var e=0;e<a.length;e++)d.append(a[e],c);return d.getBlob(b)}if(void 0!==tn_.global.Blob)return d={},b&&(d.type=b),c&&(d.endings=c),new Blob(a,d);throw Error("This browser doesn't seem to support creating Blobs");};tn_.i18n={};tn_.i18n.bidi={};tn_.i18n.bidi.FORCE_RTL=!1;
tn_.i18n.bidi.IS_RTL=tn_.i18n.bidi.FORCE_RTL||("ar"==tn_.LOCALE.substring(0,2).toLowerCase()||"fa"==tn_.LOCALE.substring(0,2).toLowerCase()||"he"==tn_.LOCALE.substring(0,2).toLowerCase()||"iw"==tn_.LOCALE.substring(0,2).toLowerCase()||"ps"==tn_.LOCALE.substring(0,2).toLowerCase()||"sd"==tn_.LOCALE.substring(0,2).toLowerCase()||"ug"==tn_.LOCALE.substring(0,2).toLowerCase()||"ur"==tn_.LOCALE.substring(0,2).toLowerCase()||"yi"==tn_.LOCALE.substring(0,2).toLowerCase())&&(2==tn_.LOCALE.length||"-"==tn_.LOCALE.substring(2,
3)||"_"==tn_.LOCALE.substring(2,3))||3<=tn_.LOCALE.length&&"ckb"==tn_.LOCALE.substring(0,3).toLowerCase()&&(3==tn_.LOCALE.length||"-"==tn_.LOCALE.substring(3,4)||"_"==tn_.LOCALE.substring(3,4))||7<=tn_.LOCALE.length&&("-"==tn_.LOCALE.substring(2,3)||"_"==tn_.LOCALE.substring(2,3))&&("adlm"==tn_.LOCALE.substring(3,7).toLowerCase()||"arab"==tn_.LOCALE.substring(3,7).toLowerCase()||"hebr"==tn_.LOCALE.substring(3,7).toLowerCase()||"nkoo"==tn_.LOCALE.substring(3,7).toLowerCase()||"rohg"==tn_.LOCALE.substring(3,
7).toLowerCase()||"thaa"==tn_.LOCALE.substring(3,7).toLowerCase())||8<=tn_.LOCALE.length&&("-"==tn_.LOCALE.substring(3,4)||"_"==tn_.LOCALE.substring(3,4))&&("adlm"==tn_.LOCALE.substring(4,8).toLowerCase()||"arab"==tn_.LOCALE.substring(4,8).toLowerCase()||"hebr"==tn_.LOCALE.substring(4,8).toLowerCase()||"nkoo"==tn_.LOCALE.substring(4,8).toLowerCase()||"rohg"==tn_.LOCALE.substring(4,8).toLowerCase()||"thaa"==tn_.LOCALE.substring(4,8).toLowerCase());
tn_.i18n.bidi.Format={LRE:"\u202a",RLE:"\u202b",PDF:"\u202c",LRM:"\u200e",RLM:"\u200f"};tn_.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0};tn_.i18n.bidi.RIGHT="right";tn_.i18n.bidi.LEFT="left";tn_.i18n.bidi.I18N_RIGHT=tn_.i18n.bidi.IS_RTL?tn_.i18n.bidi.LEFT:tn_.i18n.bidi.RIGHT;tn_.i18n.bidi.I18N_LEFT=tn_.i18n.bidi.IS_RTL?tn_.i18n.bidi.RIGHT:tn_.i18n.bidi.LEFT;
tn_.i18n.bidi.toDir=function(a,b){return"number"==typeof a?0<a?tn_.i18n.bidi.Dir.LTR:0>a?tn_.i18n.bidi.Dir.RTL:b?null:tn_.i18n.bidi.Dir.NEUTRAL:null==a?null:a?tn_.i18n.bidi.Dir.RTL:tn_.i18n.bidi.Dir.LTR};tn_.i18n.bidi.ltrChars_="A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0900-\u1fff\u200e\u2c00-\ud801\ud804-\ud839\ud83c-\udbff\uf900-\ufb1c\ufe00-\ufe6f\ufefd-\uffff";tn_.i18n.bidi.rtlChars_="\u0591-\u06ef\u06fa-\u08ff\u200f\ud802-\ud803\ud83a-\ud83b\ufb1d-\ufdff\ufe70-\ufefc";
tn_.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g;tn_.i18n.bidi.stripHtmlIfNeeded_=function(a,b){return b?a.replace(tn_.i18n.bidi.htmlSkipReg_,""):a};tn_.i18n.bidi.rtlCharReg_=new RegExp("["+tn_.i18n.bidi.rtlChars_+"]");tn_.i18n.bidi.ltrCharReg_=new RegExp("["+tn_.i18n.bidi.ltrChars_+"]");tn_.i18n.bidi.hasAnyRtl=function(a,b){return tn_.i18n.bidi.rtlCharReg_.test(tn_.i18n.bidi.stripHtmlIfNeeded_(a,b))};tn_.i18n.bidi.hasRtlChar=tn_.i18n.bidi.hasAnyRtl;
tn_.i18n.bidi.hasAnyLtr=function(a,b){return tn_.i18n.bidi.ltrCharReg_.test(tn_.i18n.bidi.stripHtmlIfNeeded_(a,b))};tn_.i18n.bidi.ltrRe_=new RegExp("^["+tn_.i18n.bidi.ltrChars_+"]");tn_.i18n.bidi.rtlRe_=new RegExp("^["+tn_.i18n.bidi.rtlChars_+"]");tn_.i18n.bidi.isRtlChar=function(a){return tn_.i18n.bidi.rtlRe_.test(a)};tn_.i18n.bidi.isLtrChar=function(a){return tn_.i18n.bidi.ltrRe_.test(a)};tn_.i18n.bidi.isNeutralChar=function(a){return!tn_.i18n.bidi.isLtrChar(a)&&!tn_.i18n.bidi.isRtlChar(a)};
tn_.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+tn_.i18n.bidi.rtlChars_+"]*["+tn_.i18n.bidi.ltrChars_+"]");tn_.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+tn_.i18n.bidi.ltrChars_+"]*["+tn_.i18n.bidi.rtlChars_+"]");tn_.i18n.bidi.startsWithRtl=function(a,b){return tn_.i18n.bidi.rtlDirCheckRe_.test(tn_.i18n.bidi.stripHtmlIfNeeded_(a,b))};tn_.i18n.bidi.isRtlText=tn_.i18n.bidi.startsWithRtl;
tn_.i18n.bidi.startsWithLtr=function(a,b){return tn_.i18n.bidi.ltrDirCheckRe_.test(tn_.i18n.bidi.stripHtmlIfNeeded_(a,b))};tn_.i18n.bidi.isLtrText=tn_.i18n.bidi.startsWithLtr;tn_.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/;tn_.i18n.bidi.isNeutralText=function(a,b){a=tn_.i18n.bidi.stripHtmlIfNeeded_(a,b);return tn_.i18n.bidi.isRequiredLtrRe_.test(a)||!tn_.i18n.bidi.hasAnyLtr(a)&&!tn_.i18n.bidi.hasAnyRtl(a)};
tn_.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+tn_.i18n.bidi.ltrChars_+"][^"+tn_.i18n.bidi.rtlChars_+"]*$");tn_.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+tn_.i18n.bidi.rtlChars_+"][^"+tn_.i18n.bidi.ltrChars_+"]*$");tn_.i18n.bidi.endsWithLtr=function(a,b){return tn_.i18n.bidi.ltrExitDirCheckRe_.test(tn_.i18n.bidi.stripHtmlIfNeeded_(a,b))};tn_.i18n.bidi.isLtrExitText=tn_.i18n.bidi.endsWithLtr;
tn_.i18n.bidi.endsWithRtl=function(a,b){return tn_.i18n.bidi.rtlExitDirCheckRe_.test(tn_.i18n.bidi.stripHtmlIfNeeded_(a,b))};tn_.i18n.bidi.isRtlExitText=tn_.i18n.bidi.endsWithRtl;tn_.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;tn_.i18n.bidi.isRtlLanguage=function(a){return tn_.i18n.bidi.rtlLocalesRe_.test(a)};tn_.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g;
tn_.i18n.bidi.guardBracketInText=function(a,b){b=(b=void 0===b?tn_.i18n.bidi.hasAnyRtl(a):b)?tn_.i18n.bidi.Format.RLM:tn_.i18n.bidi.Format.LRM;return a.replace(tn_.i18n.bidi.bracketGuardTextRe_,b+"$&"+b)};tn_.i18n.bidi.enforceRtlInHtml=function(a){return"<"==a.charAt(0)?a.replace(/<\w+/,"$& dir=rtl"):"\n<span dir=rtl>"+a+"</span>"};tn_.i18n.bidi.enforceRtlInText=function(a){return tn_.i18n.bidi.Format.RLE+a+tn_.i18n.bidi.Format.PDF};
tn_.i18n.bidi.enforceLtrInHtml=function(a){return"<"==a.charAt(0)?a.replace(/<\w+/,"$& dir=ltr"):"\n<span dir=ltr>"+a+"</span>"};tn_.i18n.bidi.enforceLtrInText=function(a){return tn_.i18n.bidi.Format.LRE+a+tn_.i18n.bidi.Format.PDF};tn_.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g;tn_.i18n.bidi.leftRe_=/left/gi;tn_.i18n.bidi.rightRe_=/right/gi;tn_.i18n.bidi.tempRe_=/%%%%/g;
tn_.i18n.bidi.mirrorCSS=function(a){return a.replace(tn_.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(tn_.i18n.bidi.leftRe_,"%%%%").replace(tn_.i18n.bidi.rightRe_,tn_.i18n.bidi.LEFT).replace(tn_.i18n.bidi.tempRe_,tn_.i18n.bidi.RIGHT)};tn_.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g;tn_.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g;
tn_.i18n.bidi.normalizeHebrewQuote=function(a){return a.replace(tn_.i18n.bidi.doubleQuoteSubstituteRe_,"$1\u05f4").replace(tn_.i18n.bidi.singleQuoteSubstituteRe_,"$1\u05f3")};tn_.i18n.bidi.wordSeparatorRe_=/\s+/;tn_.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/;tn_.i18n.bidi.rtlDetectionThreshold_=.4;
tn_.i18n.bidi.estimateDirection=function(a,b){var c=0,d=0,e=!1;a=tn_.i18n.bidi.stripHtmlIfNeeded_(a,b).split(tn_.i18n.bidi.wordSeparatorRe_);for(b=0;b<a.length;b++){var f=a[b];tn_.i18n.bidi.startsWithRtl(f)?(c++,d++):tn_.i18n.bidi.isRequiredLtrRe_.test(f)?e=!0:tn_.i18n.bidi.hasAnyLtr(f)?d++:tn_.i18n.bidi.hasNumeralsRe_.test(f)&&(e=!0)}return 0==d?e?tn_.i18n.bidi.Dir.LTR:tn_.i18n.bidi.Dir.NEUTRAL:c/d>tn_.i18n.bidi.rtlDetectionThreshold_?tn_.i18n.bidi.Dir.RTL:tn_.i18n.bidi.Dir.LTR};
tn_.i18n.bidi.detectRtlDirectionality=function(a,b){return tn_.i18n.bidi.estimateDirection(a,b)==tn_.i18n.bidi.Dir.RTL};tn_.i18n.bidi.setElementDirAndAlign=function(a,b){a&&(b=tn_.i18n.bidi.toDir(b))&&(a.style.textAlign=b==tn_.i18n.bidi.Dir.RTL?tn_.i18n.bidi.RIGHT:tn_.i18n.bidi.LEFT,a.dir=b==tn_.i18n.bidi.Dir.RTL?"rtl":"ltr")};
tn_.i18n.bidi.setElementDirByTextDirectionality=function(a,b){switch(tn_.i18n.bidi.estimateDirection(b)){case tn_.i18n.bidi.Dir.LTR:"ltr"!==a.dir&&(a.dir="ltr");break;case tn_.i18n.bidi.Dir.RTL:"rtl"!==a.dir&&(a.dir="rtl");break;default:a.removeAttribute("dir")}};tn_.i18n.bidi.DirectionalString=function(){};tn_.html.TrustedResourceUrl=function(a,b){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=b===tn_.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_?a:""};tn_a=tn_.html.TrustedResourceUrl.prototype;tn_a.implementsGoogStringTypedString=!0;tn_a.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString()};tn_a.implementsGoogI18nBidiDirectionalString=!0;tn_a.getDirection=function(){return tn_.i18n.bidi.Dir.LTR};
tn_a.cloneWithParams=function(a,b){var c=tn_.html.TrustedResourceUrl.unwrap(this),d=tn_.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(c);c=d[1];var e=d[2]||"";d=d[3]||"";return tn_.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(c+tn_.html.TrustedResourceUrl.stringifyParams_("?",e,a)+tn_.html.TrustedResourceUrl.stringifyParams_("#",d,b))};
tn_.DEBUG&&(tn_.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"});tn_.html.TrustedResourceUrl.unwrap=function(a){return tn_.html.TrustedResourceUrl.unwrapTrustedScriptURL(a).toString()};
tn_.html.TrustedResourceUrl.unwrapTrustedScriptURL=function(a){if(a instanceof tn_.html.TrustedResourceUrl&&a.constructor===tn_.html.TrustedResourceUrl)return a.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_;tn_.asserts.fail("expected object of type TrustedResourceUrl, got '"+a+"' of type "+tn_.typeOf(a));return"type_error:TrustedResourceUrl"};
tn_.html.TrustedResourceUrl.format=function(a,b){var c=tn_.string.Const.unwrap(a);if(!tn_.html.TrustedResourceUrl.BASE_URL_.test(c))throw Error("Invalid TrustedResourceUrl format: "+c);a=c.replace(tn_.html.TrustedResourceUrl.FORMAT_MARKER_,function(d,e){if(!Object.prototype.hasOwnProperty.call(b,e))throw Error('Found marker, "'+e+'", in format string, "'+c+'", but no valid label mapping found in args: '+JSON.stringify(b));d=b[e];return d instanceof tn_.string.Const?tn_.string.Const.unwrap(d):encodeURIComponent(String(d))});
return tn_.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(a)};tn_.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g;tn_.html.TrustedResourceUrl.BASE_URL_=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i;tn_.html.TrustedResourceUrl.URL_PARAM_PARSER_=/^([^?#]*)(\?[^#]*)?(#[\s\S]*)?/;tn_.html.TrustedResourceUrl.formatWithParams=function(a,b,c,d){a=tn_.html.TrustedResourceUrl.format(a,b);return a.cloneWithParams(c,d)};
tn_.html.TrustedResourceUrl.fromConstant=function(a){return tn_.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(tn_.string.Const.unwrap(a))};tn_.html.TrustedResourceUrl.fromConstants=function(a){for(var b="",c=0;c<a.length;c++)b+=tn_.string.Const.unwrap(a[c]);return tn_.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(b)};
tn_.html.TrustedResourceUrl.fromSafeScript=function(a){a=tn_.fs.blob.getBlobWithProperties([tn_j.unwrap(a)],"text/javascript");a=tn_.fs.url.createObjectUrl(a);return tn_.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(a)};tn_.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_={};
tn_.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse=function(a){var b=tn_.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse();a=b?b.createScriptURL(a):a;return new tn_.html.TrustedResourceUrl(a,tn_.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_)};
tn_.html.TrustedResourceUrl.stringifyParams_=function(a,b,c){if(null==c)return b;if("string"===typeof c)return c?a+encodeURIComponent(c):"";for(var d in c)if(Object.prototype.hasOwnProperty.call(c,d)){var e=c[d];e=Array.isArray(e)?e:[e];for(var f=0;f<e.length;f++){var g=e[f];null!=g&&(b||(b=a),b+=(b.length>a.length?"&":"")+encodeURIComponent(d)+"="+encodeURIComponent(String(g)))}}return b};tn_.string.internal={};tn_.string.internal.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)};tn_.string.internal.endsWith=function(a,b){var c=a.length-b.length;return 0<=c&&a.indexOf(b,c)==c};tn_.string.internal.caseInsensitiveStartsWith=function(a,b){return 0==tn_.string.internal.caseInsensitiveCompare(b,a.substr(0,b.length))};tn_.string.internal.caseInsensitiveEndsWith=function(a,b){return 0==tn_.string.internal.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))};
tn_.string.internal.caseInsensitiveEquals=function(a,b){return a.toLowerCase()==b.toLowerCase()};tn_.string.internal.isEmptyOrWhitespace=function(a){return/^[\s\xa0]*$/.test(a)};tn_.string.internal.trim=tn_.TRUSTED_SITE&&String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]};tn_.string.internal.caseInsensitiveCompare=function(a,b){a=String(a).toLowerCase();b=String(b).toLowerCase();return a<b?-1:a==b?0:1};
tn_.string.internal.newLineToBr=function(a,b){return a.replace(/(\r\n|\r|\n)/g,b?"<br />":"<br>")};
tn_.string.internal.htmlEscape=function(a,b){if(b)a=a.replace(tn_.string.internal.AMP_RE_,"&amp;").replace(tn_.string.internal.LT_RE_,"&lt;").replace(tn_.string.internal.GT_RE_,"&gt;").replace(tn_.string.internal.QUOT_RE_,"&quot;").replace(tn_.string.internal.SINGLE_QUOTE_RE_,"&#39;").replace(tn_.string.internal.NULL_RE_,"&#0;");else{if(!tn_.string.internal.ALL_RE_.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(tn_.string.internal.AMP_RE_,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(tn_.string.internal.LT_RE_,
"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(tn_.string.internal.GT_RE_,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(tn_.string.internal.QUOT_RE_,"&quot;"));-1!=a.indexOf("'")&&(a=a.replace(tn_.string.internal.SINGLE_QUOTE_RE_,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(tn_.string.internal.NULL_RE_,"&#0;"))}return a};tn_.string.internal.AMP_RE_=/&/g;tn_.string.internal.LT_RE_=/</g;tn_.string.internal.GT_RE_=/>/g;tn_.string.internal.QUOT_RE_=/"/g;tn_.string.internal.SINGLE_QUOTE_RE_=/'/g;
tn_.string.internal.NULL_RE_=/\x00/g;tn_.string.internal.ALL_RE_=/[\x00&<>"']/;tn_.string.internal.whitespaceEscape=function(a,b){return tn_.string.internal.newLineToBr(a.replace(/  /g," &#160;"),b)};tn_.string.internal.contains=function(a,b){return-1!=a.indexOf(b)};tn_.string.internal.caseInsensitiveContains=function(a,b){return tn_.string.internal.contains(a.toLowerCase(),b.toLowerCase())};
tn_.string.internal.compareVersions=function(a,b){var c=0;a=tn_.string.internal.trim(String(a)).split(".");b=tn_.string.internal.trim(String(b)).split(".");for(var d=Math.max(a.length,b.length),e=0;0==c&&e<d;e++){var f=a[e]||"",g=b[e]||"";do{f=/(\d*)(\D*)(.*)/.exec(f)||["","","",""];g=/(\d*)(\D*)(.*)/.exec(g)||["","","",""];if(0==f[0].length&&0==g[0].length)break;c=0==f[1].length?0:parseInt(f[1],10);var l=0==g[1].length?0:parseInt(g[1],10);c=tn_.string.internal.compareElements_(c,l)||tn_.string.internal.compareElements_(0==
f[2].length,0==g[2].length)||tn_.string.internal.compareElements_(f[2],g[2]);f=f[3];g=g[3]}while(0==c)}return c};tn_.string.internal.compareElements_=function(a,b){return a<b?-1:a>b?1:0};tn_.html.SafeUrl=function(a,b){this.privateDoNotAccessOrElseSafeUrlWrappedValue_=b===tn_.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_?a:""};tn_.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez";tn_.html.SafeUrl.prototype.implementsGoogStringTypedString=!0;tn_.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString()};tn_.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0;tn_.html.SafeUrl.prototype.getDirection=function(){return tn_.i18n.bidi.Dir.LTR};
tn_.DEBUG&&(tn_.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeUrlWrappedValue_+"}"});tn_.html.SafeUrl.unwrap=function(a){if(a instanceof tn_.html.SafeUrl&&a.constructor===tn_.html.SafeUrl)return a.privateDoNotAccessOrElseSafeUrlWrappedValue_;tn_.asserts.fail("expected object of type SafeUrl, got '"+a+"' of type "+tn_.typeOf(a));return"type_error:SafeUrl"};tn_.html.SafeUrl.fromConstant=function(a){return tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(tn_.string.Const.unwrap(a))};
tn_.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|font\/\w+|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|video\/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))(?:;\w+=(?:\w+|"[\w;,= ]+"))*$/i;tn_.html.SafeUrl.isSafeMimeType=function(a){return tn_.html.SAFE_MIME_TYPE_PATTERN_.test(a)};
tn_.html.SafeUrl.fromBlob=function(a){a=tn_.html.SafeUrl.isSafeMimeType(a.type)?tn_.fs.url.createObjectUrl(a):tn_.html.SafeUrl.INNOCUOUS_STRING;return tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};tn_.html.SafeUrl.revokeObjectUrl=function(a){a=a.getTypedStringValue();a!==tn_.html.SafeUrl.INNOCUOUS_STRING&&tn_.fs.url.revokeObjectUrl(a)};
tn_.html.SafeUrl.fromMediaSource=function(a){tn_.asserts.assert("MediaSource"in tn_.global,"No support for MediaSource");a=a instanceof MediaSource?tn_.fs.url.createObjectUrl(a):tn_.html.SafeUrl.INNOCUOUS_STRING;return tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};tn_.html.DATA_URL_PATTERN_=/^data:(.*);base64,[a-z0-9+\/]+=*$/i;
tn_.html.SafeUrl.tryFromDataUrl=function(a){a=String(a);a=a.replace(/(%0A|%0D)/g,"");var b=a.match(tn_.html.DATA_URL_PATTERN_);return(b=b&&tn_.html.SafeUrl.isSafeMimeType(b[1]))?tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a):null};tn_.html.SafeUrl.fromDataUrl=function(a){return tn_.html.SafeUrl.tryFromDataUrl(a)||tn_.html.SafeUrl.INNOCUOUS_URL};
tn_.html.SafeUrl.fromTelUrl=function(a){tn_.string.internal.caseInsensitiveStartsWith(a,"tel:")||(a=tn_.html.SafeUrl.INNOCUOUS_STRING);return tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};tn_.html.SIP_URL_PATTERN_=/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i;tn_.html.SafeUrl.fromSipUrl=function(a){tn_.html.SIP_URL_PATTERN_.test(decodeURIComponent(a))||(a=tn_.html.SafeUrl.INNOCUOUS_STRING);return tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};
tn_.html.SafeUrl.fromFacebookMessengerUrl=function(a){tn_.string.internal.caseInsensitiveStartsWith(a,"fb-messenger://share")||(a=tn_.html.SafeUrl.INNOCUOUS_STRING);return tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};tn_.html.SafeUrl.fromWhatsAppUrl=function(a){tn_.string.internal.caseInsensitiveStartsWith(a,"whatsapp://send")||(a=tn_.html.SafeUrl.INNOCUOUS_STRING);return tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};
tn_.html.SafeUrl.fromSmsUrl=function(a){tn_.string.internal.caseInsensitiveStartsWith(a,"sms:")&&tn_.html.SafeUrl.isSmsUrlBodyValid_(a)||(a=tn_.html.SafeUrl.INNOCUOUS_STRING);return tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};tn_.html.SafeUrl.isSmsUrlBodyValid_=function(a){var b=a.indexOf("#");0<b&&(a=a.substring(0,b));b=a.match(/[?&]body=/gi);if(!b)return!0;if(1<b.length)return!1;a=a.match(/[?&]body=([^&]*)/)[1];if(!a)return!0;try{decodeURIComponent(a)}catch(c){return!1}return/^(?:[a-z0-9\-_.~]|%[0-9a-f]{2})+$/i.test(a)};
tn_.html.SafeUrl.fromSshUrl=function(a){tn_.string.internal.caseInsensitiveStartsWith(a,"ssh://")||(a=tn_.html.SafeUrl.INNOCUOUS_STRING);return tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};tn_.html.SafeUrl.sanitizeChromeExtensionUrl=function(a,b){return tn_.html.SafeUrl.sanitizeExtensionUrl_(/^chrome-extension:\/\/([^\/]+)\//,a,b)};tn_.html.SafeUrl.sanitizeFirefoxExtensionUrl=function(a,b){return tn_.html.SafeUrl.sanitizeExtensionUrl_(/^moz-extension:\/\/([^\/]+)\//,a,b)};
tn_.html.SafeUrl.sanitizeEdgeExtensionUrl=function(a,b){return tn_.html.SafeUrl.sanitizeExtensionUrl_(/^ms-browser-extension:\/\/([^\/]+)\//,a,b)};tn_.html.SafeUrl.sanitizeExtensionUrl_=function(a,b,c){(a=a.exec(b))?(a=a[1],c=c instanceof tn_.string.Const?[tn_.string.Const.unwrap(c)]:c.map(function(d){return tn_.string.Const.unwrap(d)}),-1==c.indexOf(a)&&(b=tn_.html.SafeUrl.INNOCUOUS_STRING)):b=tn_.html.SafeUrl.INNOCUOUS_STRING;return tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b)};
tn_.html.SafeUrl.fromTrustedResourceUrl=function(a){return tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(tn_.html.TrustedResourceUrl.unwrap(a))};tn_.html.SAFE_URL_PATTERN_=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;tn_.html.SafeUrl.SAFE_URL_PATTERN=tn_.html.SAFE_URL_PATTERN_;
tn_.html.SafeUrl.trySanitize=function(a){if(a instanceof tn_.html.SafeUrl)return a;a="object"==typeof a&&a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);return tn_.html.SAFE_URL_PATTERN_.test(a)?tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a):tn_.html.SafeUrl.tryFromDataUrl(a)};tn_.html.SafeUrl.sanitize=function(a){return tn_.html.SafeUrl.trySanitize(a)||tn_.html.SafeUrl.INNOCUOUS_URL};
tn_.html.SafeUrl.sanitizeAssertUnchanged=function(a,b){if(a instanceof tn_.html.SafeUrl)return a;a="object"==typeof a&&a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);if(b&&/^data:/i.test(a)&&(b=tn_.html.SafeUrl.fromDataUrl(a),b.getTypedStringValue()==a))return b;tn_.asserts.assert(tn_.html.SAFE_URL_PATTERN_.test(a),"%s does not match the safe URL pattern",a)||(a=tn_.html.SafeUrl.INNOCUOUS_STRING);return tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};
tn_.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_={};tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse=function(a){return new tn_.html.SafeUrl(a,tn_.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_)};tn_.html.SafeUrl.INNOCUOUS_URL=tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(tn_.html.SafeUrl.INNOCUOUS_STRING);tn_.html.SafeUrl.ABOUT_BLANK=tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse("about:blank");tn_.html.SafeStyle=function(a,b){this.privateDoNotAccessOrElseSafeStyleWrappedValue_=b===tn_.html.SafeStyle.CONSTRUCTOR_TOKEN_PRIVATE_?a:""};tn_.html.SafeStyle.prototype.implementsGoogStringTypedString=!0;
tn_.html.SafeStyle.fromConstant=function(a){a=tn_.string.Const.unwrap(a);if(0===a.length)return tn_.html.SafeStyle.EMPTY;tn_.asserts.assert(tn_.string.internal.endsWith(a,";"),"Last character of style string is not ';': "+a);tn_.asserts.assert(tn_.string.internal.contains(a,":"),"Style string must contain at least one ':', to specify a \"name: value\" pair: "+a);return tn_.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(a)};tn_.html.SafeStyle.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_};
tn_.DEBUG&&(tn_.html.SafeStyle.prototype.toString=function(){return"SafeStyle{"+this.privateDoNotAccessOrElseSafeStyleWrappedValue_+"}"});tn_.html.SafeStyle.unwrap=function(a){if(a instanceof tn_.html.SafeStyle&&a.constructor===tn_.html.SafeStyle)return a.privateDoNotAccessOrElseSafeStyleWrappedValue_;tn_.asserts.fail("expected object of type SafeStyle, got '"+a+"' of type "+tn_.typeOf(a));return"type_error:SafeStyle"};tn_.html.SafeStyle.CONSTRUCTOR_TOKEN_PRIVATE_={};
tn_.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse=function(a){return new tn_.html.SafeStyle(a,tn_.html.SafeStyle.CONSTRUCTOR_TOKEN_PRIVATE_)};tn_.html.SafeStyle.EMPTY=tn_.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse("");tn_.html.SafeStyle.INNOCUOUS_STRING="zClosurez";
tn_.html.SafeStyle.create=function(a){var b="",c;for(c in a)if(Object.prototype.hasOwnProperty.call(a,c)){if(!/^[-_a-zA-Z0-9]+$/.test(c))throw Error("Name allows only [-_a-zA-Z0-9], got: "+c);var d=a[c];null!=d&&(d=Array.isArray(d)?tn_f(d,tn_.html.SafeStyle.sanitizePropertyValue_).join(" "):tn_.html.SafeStyle.sanitizePropertyValue_(d),b+=c+":"+d+";")}return b?tn_.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b):tn_.html.SafeStyle.EMPTY};
tn_.html.SafeStyle.sanitizePropertyValue_=function(a){if(a instanceof tn_.html.SafeUrl)return a=tn_.html.SafeUrl.unwrap(a),'url("'+a.replace(/</g,"%3c").replace(/[\\"]/g,"\\$&")+'")';a=a instanceof tn_.string.Const?tn_.string.Const.unwrap(a):tn_.html.SafeStyle.sanitizePropertyValueString_(String(a));if(/[{;}]/.test(a))throw new tn_.asserts.AssertionError("Value does not allow [{;}], got: %s.",[a]);return a};
tn_.html.SafeStyle.sanitizePropertyValueString_=function(a){var b=a.replace(tn_.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(tn_.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(tn_.html.SafeStyle.URL_RE_,"url");if(tn_.html.SafeStyle.VALUE_RE_.test(b)){if(tn_.html.SafeStyle.COMMENT_RE_.test(a))return tn_.asserts.fail("String value disallows comments, got: "+a),tn_.html.SafeStyle.INNOCUOUS_STRING;if(!tn_.html.SafeStyle.hasBalancedQuotes_(a))return tn_.asserts.fail("String value requires balanced quotes, got: "+
a),tn_.html.SafeStyle.INNOCUOUS_STRING;if(!tn_.html.SafeStyle.hasBalancedSquareBrackets_(a))return tn_.asserts.fail("String value requires balanced square brackets and one identifier per pair of brackets, got: "+a),tn_.html.SafeStyle.INNOCUOUS_STRING}else return tn_.asserts.fail("String value allows only "+tn_.html.SafeStyle.VALUE_ALLOWED_CHARS_+" and simple functions, got: "+a),tn_.html.SafeStyle.INNOCUOUS_STRING;return tn_.html.SafeStyle.sanitizeUrl_(a)};
tn_.html.SafeStyle.hasBalancedQuotes_=function(a){for(var b=!0,c=!0,d=0;d<a.length;d++){var e=a.charAt(d);"'"==e&&c?b=!b:'"'==e&&b&&(c=!c)}return b&&c};tn_.html.SafeStyle.hasBalancedSquareBrackets_=function(a){for(var b=!0,c=/^[-_a-zA-Z0-9]$/,d=0;d<a.length;d++){var e=a.charAt(d);if("]"==e){if(b)return!1;b=!0}else if("["==e){if(!b)return!1;b=!1}else if(!b&&!c.test(e))return!1}return b};tn_.html.SafeStyle.VALUE_ALLOWED_CHARS_="[-,.\"'%_!# a-zA-Z0-9\\[\\]]";
tn_.html.SafeStyle.VALUE_RE_=new RegExp("^"+tn_.html.SafeStyle.VALUE_ALLOWED_CHARS_+"+$");tn_.html.SafeStyle.URL_RE_=/\b(url\([ \t\n]*)('[ -&(-\[\]-~]*'|"[ !#-\[\]-~]*"|[!#-&*-\[\]-~]*)([ \t\n]*\))/g;tn_.html.SafeStyle.ALLOWED_FUNCTIONS_="calc cubic-bezier fit-content hsl hsla linear-gradient matrix minmax repeat rgb rgba (rotate|scale|translate)(X|Y|Z|3d)?".split(" ");
tn_.html.SafeStyle.FUNCTIONS_RE_=new RegExp("\\b("+tn_.html.SafeStyle.ALLOWED_FUNCTIONS_.join("|")+")\\([-+*/0-9a-z.%\\[\\], ]+\\)","g");tn_.html.SafeStyle.COMMENT_RE_=/\/\*/;tn_.html.SafeStyle.sanitizeUrl_=function(a){return a.replace(tn_.html.SafeStyle.URL_RE_,function(b,c,d,e){var f="";d=d.replace(/^(['"])(.*)\1$/,function(g,l,n){f=l;return n});b=tn_.html.SafeUrl.sanitize(d).getTypedStringValue();return c+f+b+f+e})};
tn_.html.SafeStyle.concat=function(a){var b="",c=function(d){Array.isArray(d)?tn_e(d,c):b+=tn_.html.SafeStyle.unwrap(d)};tn_e(arguments,c);return b?tn_.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b):tn_.html.SafeStyle.EMPTY};var tn_bb={},tn_k=function(a,b){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_=b===tn_bb?a:"";this.implementsGoogStringTypedString=!0};
tn_k.createRule=function(a,b){if((0,tn_.string.internal.contains)(a,"<"))throw Error("Selector does not allow '<', got: "+a);var c=a.replace(/('|")((?!\1)[^\r\n\f\\]|\\[\s\S])*\1/g,"");if(!/^[-_a-zA-Z0-9#.:* ,>+~[\]()=^$|]+$/.test(c))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: "+a);if(!tn_k.hasBalancedBrackets_(c))throw Error("() and [] in selector must be balanced, got: "+a);b instanceof tn_.html.SafeStyle||(b=tn_.html.SafeStyle.create(b));a=a+"{"+tn_.html.SafeStyle.unwrap(b).replace(/</g,
"\\3C ")+"}";return tn_k.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(a)};tn_k.hasBalancedBrackets_=function(a){for(var b={"(":")","[":"]"},c=[],d=0;d<a.length;d++){var e=a[d];if(b[e])c.push(b[e]);else if(tn_.object.contains(b,e)&&c.pop()!=e)return!1}return 0==c.length};tn_k.concat=function(a){var b="",c=function(d){Array.isArray(d)?tn_e(d,c):b+=tn_k.unwrap(d)};tn_e(arguments,c);return tn_k.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(b)};
tn_k.fromConstant=function(a){a=tn_.string.Const.unwrap(a);if(0===a.length)return tn_k.EMPTY;(0,tn_.asserts.assert)(!(0,tn_.string.internal.contains)(a,"<"),"Forbidden '<' character in style sheet string: "+a);return tn_k.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(a)};tn_k.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_};
tn_k.unwrap=function(a){if(a instanceof tn_k&&a.constructor===tn_k)return a.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_;(0,tn_.asserts.fail)("expected object of type SafeStyleSheet, got '"+a+"' of type "+tn_.typeOf(a));return"type_error:SafeStyleSheet"};tn_k.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse=function(a){return new tn_k(a,tn_bb)};tn_.DEBUG&&(tn_k.prototype.toString=function(){return"SafeStyleSheet{"+this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_+"}"});
tn_k.EMPTY=tn_k.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse("");tn_.html.SafeStyleSheet=tn_k;tn_.labs={};tn_.labs.userAgent={};tn_.labs.userAgent.util={};tn_.labs.userAgent.util.getNativeUserAgentString_=function(){var a=tn_.labs.userAgent.util.getNavigator_();return a&&(a=a.userAgent)?a:""};tn_.labs.userAgent.util.getNavigator_=function(){return tn_.global.navigator};tn_.labs.userAgent.util.userAgent_=tn_.labs.userAgent.util.getNativeUserAgentString_();tn_.labs.userAgent.util.setUserAgent=function(a){tn_.labs.userAgent.util.userAgent_=a||tn_.labs.userAgent.util.getNativeUserAgentString_()};
tn_.labs.userAgent.util.getUserAgent=function(){return tn_.labs.userAgent.util.userAgent_};tn_.labs.userAgent.util.matchUserAgent=function(a){var b=tn_.labs.userAgent.util.getUserAgent();return tn_.string.internal.contains(b,a)};tn_.labs.userAgent.util.matchUserAgentIgnoreCase=function(a){var b=tn_.labs.userAgent.util.getUserAgent();return tn_.string.internal.caseInsensitiveContains(b,a)};
tn_.labs.userAgent.util.extractVersionTuples=function(a){for(var b=/(\w[\w ]+)\/([^\s]+)\s*(?:\((.*?)\))?/g,c=[],d;d=b.exec(a);)c.push([d[1],d[2],d[3]||void 0]);return c};tn_.labs.userAgent.browser={};tn_.labs.userAgent.browser.matchOpera_=function(){return tn_.labs.userAgent.util.matchUserAgent("Opera")};tn_.labs.userAgent.browser.matchIE_=function(){return tn_.labs.userAgent.util.matchUserAgent("Trident")||tn_.labs.userAgent.util.matchUserAgent("MSIE")};tn_.labs.userAgent.browser.matchEdgeHtml_=function(){return tn_.labs.userAgent.util.matchUserAgent("Edge")};tn_.labs.userAgent.browser.matchEdgeChromium_=function(){return tn_.labs.userAgent.util.matchUserAgent("Edg/")};
tn_.labs.userAgent.browser.matchOperaChromium_=function(){return tn_.labs.userAgent.util.matchUserAgent("OPR")};tn_.labs.userAgent.browser.matchFirefox_=function(){return tn_.labs.userAgent.util.matchUserAgent("Firefox")||tn_.labs.userAgent.util.matchUserAgent("FxiOS")};
tn_.labs.userAgent.browser.matchSafari_=function(){return tn_.labs.userAgent.util.matchUserAgent("Safari")&&!(tn_.labs.userAgent.browser.matchChrome_()||tn_.labs.userAgent.browser.matchCoast_()||tn_.labs.userAgent.browser.matchOpera_()||tn_.labs.userAgent.browser.matchEdgeHtml_()||tn_.labs.userAgent.browser.matchEdgeChromium_()||tn_.labs.userAgent.browser.matchOperaChromium_()||tn_.labs.userAgent.browser.matchFirefox_()||tn_.labs.userAgent.browser.isSilk()||tn_.labs.userAgent.util.matchUserAgent("Android"))};
tn_.labs.userAgent.browser.matchCoast_=function(){return tn_.labs.userAgent.util.matchUserAgent("Coast")};tn_.labs.userAgent.browser.matchIosWebview_=function(){return(tn_.labs.userAgent.util.matchUserAgent("iPad")||tn_.labs.userAgent.util.matchUserAgent("iPhone"))&&!tn_.labs.userAgent.browser.matchSafari_()&&!tn_.labs.userAgent.browser.matchChrome_()&&!tn_.labs.userAgent.browser.matchCoast_()&&!tn_.labs.userAgent.browser.matchFirefox_()&&tn_.labs.userAgent.util.matchUserAgent("AppleWebKit")};
tn_.labs.userAgent.browser.matchChrome_=function(){return(tn_.labs.userAgent.util.matchUserAgent("Chrome")||tn_.labs.userAgent.util.matchUserAgent("CriOS"))&&!tn_.labs.userAgent.browser.matchEdgeHtml_()};tn_.labs.userAgent.browser.matchAndroidBrowser_=function(){return tn_.labs.userAgent.util.matchUserAgent("Android")&&!(tn_.labs.userAgent.browser.isChrome()||tn_.labs.userAgent.browser.isFirefox()||tn_.labs.userAgent.browser.isOpera()||tn_.labs.userAgent.browser.isSilk())};
tn_.labs.userAgent.browser.isOpera=tn_.labs.userAgent.browser.matchOpera_;tn_.labs.userAgent.browser.isIE=tn_.labs.userAgent.browser.matchIE_;tn_.labs.userAgent.browser.isEdge=tn_.labs.userAgent.browser.matchEdgeHtml_;tn_.labs.userAgent.browser.isEdgeChromium=tn_.labs.userAgent.browser.matchEdgeChromium_;tn_.labs.userAgent.browser.isOperaChromium=tn_.labs.userAgent.browser.matchOperaChromium_;tn_.labs.userAgent.browser.isFirefox=tn_.labs.userAgent.browser.matchFirefox_;
tn_.labs.userAgent.browser.isSafari=tn_.labs.userAgent.browser.matchSafari_;tn_.labs.userAgent.browser.isCoast=tn_.labs.userAgent.browser.matchCoast_;tn_.labs.userAgent.browser.isIosWebview=tn_.labs.userAgent.browser.matchIosWebview_;tn_.labs.userAgent.browser.isChrome=tn_.labs.userAgent.browser.matchChrome_;tn_.labs.userAgent.browser.isAndroidBrowser=tn_.labs.userAgent.browser.matchAndroidBrowser_;tn_.labs.userAgent.browser.isSilk=function(){return tn_.labs.userAgent.util.matchUserAgent("Silk")};
tn_.labs.userAgent.browser.getVersion=function(){function a(e){e=tn_ra(e,d);return c[e]||""}var b=tn_.labs.userAgent.util.getUserAgent();if(tn_.labs.userAgent.browser.isIE())return tn_.labs.userAgent.browser.getIEVersion_(b);b=tn_.labs.userAgent.util.extractVersionTuples(b);var c={};tn_e(b,function(e){var f=e[0];e=e[1];c[f]=e});var d=tn_.partial(tn_.object.containsKey,c);return tn_.labs.userAgent.browser.isOpera()?a(["Version","Opera"]):tn_.labs.userAgent.browser.isEdge()?a(["Edge"]):tn_.labs.userAgent.browser.isEdgeChromium()?
a(["Edg"]):tn_.labs.userAgent.browser.isChrome()?a(["Chrome","CriOS","HeadlessChrome"]):(b=b[2])&&b[1]||""};tn_.labs.userAgent.browser.isVersionOrHigher=function(a){return 0<=tn_.string.internal.compareVersions(tn_.labs.userAgent.browser.getVersion(),a)};
tn_.labs.userAgent.browser.getIEVersion_=function(a){var b=/rv: *([\d\.]*)/.exec(a);if(b&&b[1])return b[1];b="";var c=/MSIE +([\d\.]+)/.exec(a);if(c&&c[1])if(a=/Trident\/(\d.\d)/.exec(a),"7.0"==c[1])if(a&&a[1])switch(a[1]){case "4.0":b="8.0";break;case "5.0":b="9.0";break;case "6.0":b="10.0";break;case "7.0":b="11.0"}else b="7.0";else b=c[1];return b};tn_.html.SafeHtml=function(a,b,c){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_=c===tn_.html.SafeHtml.CONSTRUCTOR_TOKEN_PRIVATE_?a:"";this.dir_=b};tn_.html.SafeHtml.ENABLE_ERROR_MESSAGES=tn_.DEBUG;tn_.html.SafeHtml.SUPPORT_STYLE_ATTRIBUTE=!0;tn_.html.SafeHtml.prototype.implementsGoogI18nBidiDirectionalString=!0;tn_.html.SafeHtml.prototype.getDirection=function(){return this.dir_};tn_.html.SafeHtml.prototype.implementsGoogStringTypedString=!0;tn_.html.SafeHtml.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_.toString()};
tn_.DEBUG&&(tn_.html.SafeHtml.prototype.toString=function(){return"SafeHtml{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"});tn_.html.SafeHtml.unwrap=function(a){return tn_.html.SafeHtml.unwrapTrustedHTML(a).toString()};tn_.html.SafeHtml.unwrapTrustedHTML=function(a){if(a instanceof tn_.html.SafeHtml&&a.constructor===tn_.html.SafeHtml)return a.privateDoNotAccessOrElseSafeHtmlWrappedValue_;tn_.asserts.fail("expected object of type SafeHtml, got '"+a+"' of type "+tn_.typeOf(a));return"type_error:SafeHtml"};
tn_.html.SafeHtml.htmlEscape=function(a){if(a instanceof tn_.html.SafeHtml)return a;var b="object"==typeof a,c=null;b&&a.implementsGoogI18nBidiDirectionalString&&(c=a.getDirection());a=b&&a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);return tn_.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(tn_.string.internal.htmlEscape(a),c)};
tn_.html.SafeHtml.htmlEscapePreservingNewlines=function(a){if(a instanceof tn_.html.SafeHtml)return a;a=tn_.html.SafeHtml.htmlEscape(a);return tn_.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(tn_.string.internal.newLineToBr(tn_.html.SafeHtml.unwrap(a)),a.getDirection())};
tn_.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces=function(a){if(a instanceof tn_.html.SafeHtml)return a;a=tn_.html.SafeHtml.htmlEscape(a);return tn_.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(tn_.string.internal.whitespaceEscape(tn_.html.SafeHtml.unwrap(a)),a.getDirection())};tn_.html.SafeHtml.from=tn_.html.SafeHtml.htmlEscape;
tn_.html.SafeHtml.comment=function(a){return tn_.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("\x3c!--"+tn_.string.internal.htmlEscape(a)+"--\x3e",null)};tn_.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/;tn_.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0};
tn_.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_=tn_.object.createSet(tn_.dom.TagName.APPLET,tn_.dom.TagName.BASE,tn_.dom.TagName.EMBED,tn_.dom.TagName.IFRAME,tn_.dom.TagName.LINK,tn_.dom.TagName.MATH,tn_.dom.TagName.META,tn_.dom.TagName.OBJECT,tn_.dom.TagName.SCRIPT,tn_.dom.TagName.STYLE,tn_.dom.TagName.SVG,tn_.dom.TagName.TEMPLATE);tn_.html.SafeHtml.create=function(a,b,c){tn_.html.SafeHtml.verifyTagName(String(a));return tn_.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(a),b,c)};
tn_.html.SafeHtml.verifyTagName=function(a){if(!tn_.html.SafeHtml.VALID_NAMES_IN_TAG_.test(a))throw Error(tn_.html.SafeHtml.ENABLE_ERROR_MESSAGES?"Invalid tag name <"+a+">.":"");if(a.toUpperCase()in tn_.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error(tn_.html.SafeHtml.ENABLE_ERROR_MESSAGES?"Tag name <"+a+"> is not allowed for SafeHtml.":"");};
tn_.html.SafeHtml.createIframe=function(a,b,c,d){a&&tn_.html.TrustedResourceUrl.unwrap(a);var e={};e.src=a||null;e.srcdoc=b&&tn_.html.SafeHtml.unwrap(b);a={sandbox:""};c=tn_.html.SafeHtml.combineAttributes(e,a,c);return tn_.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",c,d)};
tn_.html.SafeHtml.createSandboxIframe=function(a,b,c,d){if(!tn_.html.SafeHtml.canUseSandboxIframe())throw Error(tn_.html.SafeHtml.ENABLE_ERROR_MESSAGES?"The browser does not support sandboxed iframes.":"");var e={};e.src=a?tn_.html.SafeUrl.unwrap(tn_.html.SafeUrl.sanitize(a)):null;e.srcdoc=b||null;e.sandbox="";a=tn_.html.SafeHtml.combineAttributes(e,{},c);return tn_.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",a,d)};
tn_.html.SafeHtml.canUseSandboxIframe=function(){return tn_.global.HTMLIFrameElement&&"sandbox"in tn_.global.HTMLIFrameElement.prototype};tn_.html.SafeHtml.createScriptSrc=function(a,b){tn_.html.TrustedResourceUrl.unwrap(a);a={src:a};var c={};b=tn_.html.SafeHtml.combineAttributes(a,c,b);return tn_.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",b)};
tn_.html.SafeHtml.createScript=function(a,b){for(var c in b)if(Object.prototype.hasOwnProperty.call(b,c)){var d=c.toLowerCase();if("language"==d||"src"==d||"text"==d||"type"==d)throw Error(tn_.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Cannot set "'+d+'" attribute':"");}c="";a=tn_Ha(a);for(d=0;d<a.length;d++)c+=tn_j.unwrap(a[d]);a=tn_.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(c,tn_.i18n.bidi.Dir.NEUTRAL);return tn_.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",
b,a)};tn_.html.SafeHtml.createStyle=function(a,b){var c={type:"text/css"},d={};b=tn_.html.SafeHtml.combineAttributes(c,d,b);c="";a=tn_Ha(a);for(d=0;d<a.length;d++)c+=tn_k.unwrap(a[d]);a=tn_.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(c,tn_.i18n.bidi.Dir.NEUTRAL);return tn_.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("style",b,a)};
tn_.html.SafeHtml.createMetaRefresh=function(a,b){a=tn_.html.SafeUrl.unwrap(tn_.html.SafeUrl.sanitize(a));(tn_.labs.userAgent.browser.isIE()||tn_.labs.userAgent.browser.isEdge())&&tn_.string.internal.contains(a,";")&&(a="'"+a.replace(/'/g,"%27")+"'");b={"http-equiv":"refresh",content:(b||0)+"; url="+a};return tn_.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("meta",b)};
tn_.html.SafeHtml.getAttrNameAndValue_=function(a,b,c){if(c instanceof tn_.string.Const)c=tn_.string.Const.unwrap(c);else if("style"==b.toLowerCase())if(tn_.html.SafeHtml.SUPPORT_STYLE_ATTRIBUTE)c=tn_.html.SafeHtml.getStyleValue_(c);else throw Error(tn_.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Attribute "style" not supported.':"");else{if(/^on/i.test(b))throw Error(tn_.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Attribute "'+b+'" requires goog.string.Const value, "'+c+'" given.':"");if(b.toLowerCase()in tn_.html.SafeHtml.URL_ATTRIBUTES_)if(c instanceof
tn_.html.TrustedResourceUrl)c=tn_.html.TrustedResourceUrl.unwrap(c);else if(c instanceof tn_.html.SafeUrl)c=tn_.html.SafeUrl.unwrap(c);else if("string"===typeof c)c=tn_.html.SafeUrl.sanitize(c).getTypedStringValue();else throw Error(tn_.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Attribute "'+b+'" on tag "'+a+'" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+c+'" given.':"");}c.implementsGoogStringTypedString&&(c=c.getTypedStringValue());tn_.asserts.assert("string"===typeof c||"number"===
typeof c,"String or number value expected, got "+typeof c+" with value: "+c);return b+'="'+tn_.string.internal.htmlEscape(String(c))+'"'};tn_.html.SafeHtml.getStyleValue_=function(a){if(!tn_.isObject(a))throw Error(tn_.html.SafeHtml.ENABLE_ERROR_MESSAGES?'The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof a+" given: "+a:"");a instanceof tn_.html.SafeStyle||(a=tn_.html.SafeStyle.create(a));return tn_.html.SafeStyle.unwrap(a)};
tn_.html.SafeHtml.createWithDir=function(a,b,c,d){b=tn_.html.SafeHtml.create(b,c,d);b.dir_=a;return b};
tn_.html.SafeHtml.join=function(a,b){a=tn_.html.SafeHtml.htmlEscape(a);var c=a.getDirection(),d=[],e=function(f){Array.isArray(f)?tn_e(f,e):(f=tn_.html.SafeHtml.htmlEscape(f),d.push(tn_.html.SafeHtml.unwrap(f)),f=f.getDirection(),c==tn_.i18n.bidi.Dir.NEUTRAL?c=f:f!=tn_.i18n.bidi.Dir.NEUTRAL&&c!=f&&(c=null))};tn_e(b,e);return tn_.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(d.join(tn_.html.SafeHtml.unwrap(a)),c)};
tn_.html.SafeHtml.concat=function(a){return tn_.html.SafeHtml.join(tn_.html.SafeHtml.EMPTY,Array.prototype.slice.call(arguments))};tn_.html.SafeHtml.concatWithDir=function(a,b){var c=tn_.html.SafeHtml.concat(tn_La(arguments,1));c.dir_=a;return c};tn_.html.SafeHtml.CONSTRUCTOR_TOKEN_PRIVATE_={};tn_.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse=function(a,b){var c=tn_.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse();a=c?c.createHTML(a):a;return new tn_.html.SafeHtml(a,b,tn_.html.SafeHtml.CONSTRUCTOR_TOKEN_PRIVATE_)};
tn_.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse=function(a,b,c){var d=null,e="<"+a;e+=tn_.html.SafeHtml.stringifyAttributes(a,b);null==c?c=[]:Array.isArray(c)||(c=[c]);tn_.dom.tags.isVoidTag(a.toLowerCase())?(tn_.asserts.assert(!c.length,"Void tag <"+a+"> does not allow content."),e+=">"):(d=tn_.html.SafeHtml.concat(c),e+=">"+tn_.html.SafeHtml.unwrap(d)+"</"+a+">",d=d.getDirection());(a=b&&b.dir)&&(d=/^(ltr|rtl|auto)$/i.test(a)?tn_.i18n.bidi.Dir.NEUTRAL:null);return tn_.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(e,
d)};tn_.html.SafeHtml.stringifyAttributes=function(a,b){var c="";if(b)for(var d in b)if(Object.prototype.hasOwnProperty.call(b,d)){if(!tn_.html.SafeHtml.VALID_NAMES_IN_TAG_.test(d))throw Error(tn_.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Invalid attribute name "'+d+'".':"");var e=b[d];null!=e&&(c+=" "+tn_.html.SafeHtml.getAttrNameAndValue_(a,d,e))}return c};
tn_.html.SafeHtml.combineAttributes=function(a,b,c){var d={},e;for(e in a)Object.prototype.hasOwnProperty.call(a,e)&&(tn_.asserts.assert(e.toLowerCase()==e,"Must be lower case"),d[e]=a[e]);for(e in b)Object.prototype.hasOwnProperty.call(b,e)&&(tn_.asserts.assert(e.toLowerCase()==e,"Must be lower case"),d[e]=b[e]);if(c)for(e in c)if(Object.prototype.hasOwnProperty.call(c,e)){var f=e.toLowerCase();if(f in a)throw Error(tn_.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Cannot override "'+f+'" attribute, got "'+
e+'" with value "'+c[e]+'"':"");f in b&&delete d[f];d[e]=c[e]}return d};tn_.html.SafeHtml.DOCTYPE_HTML=tn_.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<!DOCTYPE html>",tn_.i18n.bidi.Dir.NEUTRAL);tn_.html.SafeHtml.EMPTY=new tn_.html.SafeHtml(tn_.global.trustedTypes&&tn_.global.trustedTypes.emptyHTML||"",tn_.i18n.bidi.Dir.NEUTRAL,tn_.html.SafeHtml.CONSTRUCTOR_TOKEN_PRIVATE_);tn_.html.SafeHtml.BR=tn_.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<br>",tn_.i18n.bidi.Dir.NEUTRAL);tn_.html.uncheckedconversions={};tn_.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(a,b,c){tn_.asserts.assertString(tn_.string.Const.unwrap(a),"must provide justification");tn_.asserts.assert(!tn_.string.internal.isEmptyOrWhitespace(tn_.string.Const.unwrap(a)),"must provide non-empty justification");return tn_.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(b,c||null)};
tn_.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(a,b){tn_.asserts.assertString(tn_.string.Const.unwrap(a),"must provide justification");tn_.asserts.assert(!tn_.string.internal.isEmptyOrWhitespace(tn_.string.Const.unwrap(a)),"must provide non-empty justification");return tn_j.createSafeScriptSecurityPrivateDoNotAccessOrElse(b)};
tn_.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(a,b){tn_.asserts.assertString(tn_.string.Const.unwrap(a),"must provide justification");tn_.asserts.assert(!tn_.string.internal.isEmptyOrWhitespace(tn_.string.Const.unwrap(a)),"must provide non-empty justification");return tn_.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b)};
tn_.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(a,b){tn_.asserts.assertString(tn_.string.Const.unwrap(a),"must provide justification");tn_.asserts.assert(!tn_.string.internal.isEmptyOrWhitespace(tn_.string.Const.unwrap(a)),"must provide non-empty justification");return tn_k.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(b)};
tn_.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(a,b){tn_.asserts.assertString(tn_.string.Const.unwrap(a),"must provide justification");tn_.asserts.assert(!tn_.string.internal.isEmptyOrWhitespace(tn_.string.Const.unwrap(a)),"must provide non-empty justification");return tn_.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b)};
tn_.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(a,b){tn_.asserts.assertString(tn_.string.Const.unwrap(a),"must provide justification");tn_.asserts.assert(!tn_.string.internal.isEmptyOrWhitespace(tn_.string.Const.unwrap(a)),"must provide non-empty justification");return tn_.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(b)};tn_.dom.safe={};tn_.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"};tn_.dom.safe.insertAdjacentHtml=function(a,b,c){a.insertAdjacentHTML(b,tn_.html.SafeHtml.unwrapTrustedHTML(c))};tn_.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0};
tn_.dom.safe.isInnerHtmlCleanupRecursive_=tn_.functions.cacheReturnValue(function(){if(tn_.DEBUG&&"undefined"===typeof document)return!1;var a=document.createElement("div"),b=document.createElement("div");b.appendChild(document.createElement("div"));a.appendChild(b);if(tn_.DEBUG&&!a.firstChild)return!1;b=a.firstChild.firstChild;a.innerHTML=tn_.html.SafeHtml.unwrapTrustedHTML(tn_.html.SafeHtml.EMPTY);return!b.parentElement});
tn_.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse=function(a,b){if(tn_.dom.safe.isInnerHtmlCleanupRecursive_())for(;a.lastChild;)a.removeChild(a.lastChild);a.innerHTML=tn_.html.SafeHtml.unwrapTrustedHTML(b)};
tn_.dom.safe.setInnerHtml=function(a,b){if(tn_.asserts.ENABLE_ASSERTS&&a.tagName){var c=a.tagName.toUpperCase();if(tn_.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[c])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+a.tagName+".");}tn_.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(a,b)};
tn_.dom.safe.setInnerHtmlFromConstant=function(a,b){tn_.dom.safe.setInnerHtml(a,tn_.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(tn_.string.Const.from("Constant HTML to be immediatelly used."),tn_.string.Const.unwrap(b)))};tn_.dom.safe.setOuterHtml=function(a,b){a.outerHTML=tn_.html.SafeHtml.unwrapTrustedHTML(b)};
tn_.dom.safe.setFormElementAction=function(a,b){b=b instanceof tn_.html.SafeUrl?b:tn_.html.SafeUrl.sanitizeAssertUnchanged(b);tn_.dom.asserts.assertIsHTMLFormElement(a).action=tn_.html.SafeUrl.unwrap(b)};tn_.dom.safe.setButtonFormAction=function(a,b){b=b instanceof tn_.html.SafeUrl?b:tn_.html.SafeUrl.sanitizeAssertUnchanged(b);tn_.dom.asserts.assertIsHTMLButtonElement(a).formAction=tn_.html.SafeUrl.unwrap(b)};
tn_.dom.safe.setInputFormAction=function(a,b){b=b instanceof tn_.html.SafeUrl?b:tn_.html.SafeUrl.sanitizeAssertUnchanged(b);tn_.dom.asserts.assertIsHTMLInputElement(a).formAction=tn_.html.SafeUrl.unwrap(b)};tn_.dom.safe.setStyle=function(a,b){a.style.cssText=tn_.html.SafeStyle.unwrap(b)};tn_.dom.safe.documentWrite=function(a,b){a.write(tn_.html.SafeHtml.unwrapTrustedHTML(b))};
tn_.dom.safe.setAnchorHref=function(a,b){tn_.dom.asserts.assertIsHTMLAnchorElement(a);b=b instanceof tn_.html.SafeUrl?b:tn_.html.SafeUrl.sanitizeAssertUnchanged(b);a.href=tn_.html.SafeUrl.unwrap(b)};tn_.dom.safe.setImageSrc=function(a,b){tn_.dom.asserts.assertIsHTMLImageElement(a);if(!(b instanceof tn_.html.SafeUrl)){var c=/^data:image\//i.test(b);b=tn_.html.SafeUrl.sanitizeAssertUnchanged(b,c)}a.src=tn_.html.SafeUrl.unwrap(b)};
tn_.dom.safe.setAudioSrc=function(a,b){tn_.dom.asserts.assertIsHTMLAudioElement(a);if(!(b instanceof tn_.html.SafeUrl)){var c=/^data:audio\//i.test(b);b=tn_.html.SafeUrl.sanitizeAssertUnchanged(b,c)}a.src=tn_.html.SafeUrl.unwrap(b)};tn_.dom.safe.setVideoSrc=function(a,b){tn_.dom.asserts.assertIsHTMLVideoElement(a);if(!(b instanceof tn_.html.SafeUrl)){var c=/^data:video\//i.test(b);b=tn_.html.SafeUrl.sanitizeAssertUnchanged(b,c)}a.src=tn_.html.SafeUrl.unwrap(b)};
tn_.dom.safe.setEmbedSrc=function(a,b){tn_.dom.asserts.assertIsHTMLEmbedElement(a);a.src=tn_.html.TrustedResourceUrl.unwrapTrustedScriptURL(b)};tn_.dom.safe.setFrameSrc=function(a,b){tn_.dom.asserts.assertIsHTMLFrameElement(a);a.src=tn_.html.TrustedResourceUrl.unwrap(b)};tn_.dom.safe.setIframeSrc=function(a,b){tn_.dom.asserts.assertIsHTMLIFrameElement(a);a.src=tn_.html.TrustedResourceUrl.unwrap(b)};tn_.dom.safe.setIframeSrcdoc=function(a,b){tn_.dom.asserts.assertIsHTMLIFrameElement(a);a.srcdoc=tn_.html.SafeHtml.unwrapTrustedHTML(b)};
tn_.dom.safe.setLinkHrefAndRel=function(a,b,c){tn_.dom.asserts.assertIsHTMLLinkElement(a);a.rel=c;tn_.string.internal.caseInsensitiveContains(c,"stylesheet")?(tn_.asserts.assert(b instanceof tn_.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),a.href=tn_.html.TrustedResourceUrl.unwrap(b)):a.href=b instanceof tn_.html.TrustedResourceUrl?tn_.html.TrustedResourceUrl.unwrap(b):b instanceof tn_.html.SafeUrl?tn_.html.SafeUrl.unwrap(b):tn_.html.SafeUrl.unwrap(tn_.html.SafeUrl.sanitizeAssertUnchanged(b))};
tn_.dom.safe.setObjectData=function(a,b){tn_.dom.asserts.assertIsHTMLObjectElement(a);a.data=tn_.html.TrustedResourceUrl.unwrapTrustedScriptURL(b)};tn_.dom.safe.setScriptSrc=function(a,b){tn_.dom.asserts.assertIsHTMLScriptElement(a);a.src=tn_.html.TrustedResourceUrl.unwrapTrustedScriptURL(b);tn_.dom.safe.setNonceForScriptElement_(a)};tn_.dom.safe.setScriptContent=function(a,b){tn_.dom.asserts.assertIsHTMLScriptElement(a);a.textContent=tn_j.unwrapTrustedScript(b);tn_.dom.safe.setNonceForScriptElement_(a)};
tn_.dom.safe.setNonceForScriptElement_=function(a){var b=a.ownerDocument&&a.ownerDocument.defaultView;(b=tn_.getScriptNonce(b))&&a.setAttribute("nonce",b)};tn_.dom.safe.setLocationHref=function(a,b){tn_.dom.asserts.assertIsLocation(a);b=b instanceof tn_.html.SafeUrl?b:tn_.html.SafeUrl.sanitizeAssertUnchanged(b);a.href=tn_.html.SafeUrl.unwrap(b)};
tn_.dom.safe.assignLocation=function(a,b){tn_.dom.asserts.assertIsLocation(a);b=b instanceof tn_.html.SafeUrl?b:tn_.html.SafeUrl.sanitizeAssertUnchanged(b);a.assign(tn_.html.SafeUrl.unwrap(b))};tn_.dom.safe.replaceLocation=function(a,b){b=b instanceof tn_.html.SafeUrl?b:tn_.html.SafeUrl.sanitizeAssertUnchanged(b);a.replace(tn_.html.SafeUrl.unwrap(b))};
tn_.dom.safe.openInWindow=function(a,b,c,d,e){a=a instanceof tn_.html.SafeUrl?a:tn_.html.SafeUrl.sanitizeAssertUnchanged(a);b=b||tn_.global;c=c instanceof tn_.string.Const?tn_.string.Const.unwrap(c):c||"";return b.open(tn_.html.SafeUrl.unwrap(a),c,d,e)};tn_.dom.safe.parseFromStringHtml=function(a,b){return tn_.dom.safe.parseFromString(a,b,"text/html")};tn_.dom.safe.parseFromString=function(a,b,c){return a.parseFromString(tn_.html.SafeHtml.unwrapTrustedHTML(b),c)};
tn_.dom.safe.createImageFromBlob=function(a){if(!/^image\/.*/g.test(a.type))throw Error("goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.");var b=tn_.global.URL.createObjectURL(a);a=new tn_.global.Image;a.onload=function(){tn_.global.URL.revokeObjectURL(b)};tn_.dom.safe.setImageSrc(a,tn_.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(tn_.string.Const.from("Image blob URL."),b));return a};var tn_cb;a:{for(var tn_db=[" ","\u0120",-1,"!","\u0120",-1,"\u0120","\u0120",0,"\u0121","\u0120",-1,"\u0121","\u0120|\u0121",0,"\u0122","\u0120|\u0121",-1,"\u0120","[\u0120]",0,"\u0121","[\u0120]",-1,"\u0121","[\u0120\u0121]",0,"\u0122","[\u0120\u0121]",-1,"\u0121","[\u0120-\u0121]",0,"\u0122","[\u0120-\u0121]",-1],tn_eb=0;tn_eb<tn_db.length;tn_eb+=3)if(tn_db[tn_eb].search(new RegExp(tn_db[tn_eb+1]))!=tn_db[tn_eb+2]){tn_cb=!1;break a}tn_cb=!0}
var tn_l=tn_cb,tn_fb=tn_l?"A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u00ff\u0100-\u0131\u0134-\u013e\u0141-\u0148\u014a-\u017e\u0180-\u01c3\u01cd-\u01f0\u01f4-\u01f5\u01fa-\u0217\u0250-\u02a8\u02bb-\u02c1\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03ce\u03d0-\u03d6\u03da\u03dc\u03de\u03e0\u03e2-\u03f3\u0401-\u040c\u040e-\u044f\u0451-\u045c\u045e-\u0481\u0490-\u04c4\u04c7-\u04c8\u04cb-\u04cc\u04d0-\u04eb\u04ee-\u04f5\u04f8-\u04f9\u0531-\u0556\u0559\u0561-\u0586\u05d0-\u05ea\u05f0-\u05f2\u0621-\u063a\u0641-\u064a\u0671-\u06b7\u06ba-\u06be\u06c0-\u06ce\u06d0-\u06d3\u06d5\u06e5-\u06e6\u0905-\u0939\u093d\u0958-\u0961\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8b\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ae0\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b36-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb5\u0bb7-\u0bb9\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c60-\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cde\u0ce0-\u0ce1\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d28\u0d2a-\u0d39\u0d60-\u0d61\u0e01-\u0e2e\u0e30\u0e32-\u0e33\u0e40-\u0e45\u0e81-\u0e82\u0e84\u0e87-\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa-\u0eab\u0ead-\u0eae\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0f40-\u0f47\u0f49-\u0f69\u10a0-\u10c5\u10d0-\u10f6\u1100\u1102-\u1103\u1105-\u1107\u1109\u110b-\u110c\u110e-\u1112\u113c\u113e\u1140\u114c\u114e\u1150\u1154-\u1155\u1159\u115f-\u1161\u1163\u1165\u1167\u1169\u116d-\u116e\u1172-\u1173\u1175\u119e\u11a8\u11ab\u11ae-\u11af\u11b7-\u11b8\u11ba\u11bc-\u11c2\u11eb\u11f0\u11f9\u1e00-\u1e9b\u1ea0-\u1ef9\u1f00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2126\u212a-\u212b\u212e\u2180-\u2182\u3041-\u3094\u30a1-\u30fa\u3105-\u312c\uac00-\ud7a3":"A-Za-z",
tn_gb=tn_l?"\u4e00-\u9fa5\u3007\u3021-\u3029":"",tn_hb=tn_l?"\u0300-\u0345\u0360-\u0361\u0483-\u0486\u0591-\u05a1\u05a3-\u05b9\u05bb-\u05bd\u05bf\u05c1-\u05c2\u05c4\u064b-\u0652\u0670\u06d6-\u06dc\u06dd-\u06df\u06e0-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0901-\u0903\u093c\u093e-\u094c\u094d\u0951-\u0954\u0962-\u0963\u0981-\u0983\u09bc\u09be\u09bf\u09c0-\u09c4\u09c7-\u09c8\u09cb-\u09cd\u09d7\u09e2-\u09e3\u0a02\u0a3c\u0a3e\u0a3f\u0a40-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a70-\u0a71\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0b01-\u0b03\u0b3c\u0b3e-\u0b43\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b82-\u0b83\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c82-\u0c83\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0d02-\u0d03\u0d3e-\u0d43\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86-\u0f8b\u0f90-\u0f95\u0f97\u0f99-\u0fad\u0fb1-\u0fb7\u0fb9\u20d0-\u20dc\u20e1\u302a-\u302f\u3099\u309a":
"",tn_ib=tn_l?"0-9\u0660-\u0669\u06f0-\u06f9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be7-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29":"0-9",tn_jb=tn_l?"\u00b7\u02d0\u02d1\u0387\u0640\u0e46\u0ec6\u3005\u3031-\u3035\u309d-\u309e\u30fc-\u30fe":"",tn_kb=tn_fb+tn_gb,tn_lb=tn_kb+tn_ib+"\\._:"+tn_hb+tn_jb+"-",tn_mb="["+tn_kb+"_:]["+tn_lb+"]*",tn_nb="&"+tn_mb+";",tn_ob=tn_nb+"|&#[0-9]+;|&#x[0-9a-fA-F]+;",tn_pb='"(([^<&"]|'+tn_ob+")*)\"|'(([^<&']|"+
tn_ob+")*)'",tn_qb="("+tn_mb+")([ \t\r\n]+)?=([ \t\r\n]+)?("+tn_pb+")",tn_rb=tn_l?":A-Z_a-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02ff\u0370-\u037d\u037f-\u1fff\u200c-\u200d\u2070-\u218f\u2c00-\u2fef\u3001-\ud7ff\uf900-\ufdcf\ufdf0-\ufffd":":A-Z_a-z",tn_sb=tn_rb+(tn_l?"\\.0-9\u00b7\u0300-\u036f\u203f-\u2040-":"\\.0-9-"),tn_tb="["+tn_rb+"]["+tn_sb+"]*",tn_ub="&"+tn_tb+";",tn_vb=tn_ub+"|&#[0-9]+;|&#x[0-9a-fA-F]+;",tn_wb='"(([^<&"]|'+tn_vb+")*)\"|'(([^<&']|"+tn_vb+")*)'",tn_xb="("+tn_tb+")([ \t\r\n]+)?=([ \t\r\n]+)?("+
tn_wb+")",tn_yb=tn_kb+tn_ib+"\\._"+tn_hb+tn_jb+"-",tn_zb="["+tn_kb+"_]["+tn_yb+"]*";function tn_m(a){a||tn_n("Assertion failed")}function tn_Ab(a,b){var c=a.indexOf(b);if(-1==c)return[a];var d=[];for(d.push(a.substr(0,c));-1!=c;){var e=a.indexOf(b,c+1);-1!=e?d.push(a.substr(c+1,e-c-1)):d.push(a.substr(c+1));c=e}return d}
function tn_Bb(a,b){if(3==b.nodeType)return a.createTextNode(b.nodeValue);if(4==b.nodeType)return a.createCDATASection(b.nodeValue);if(1==b.nodeType){for(var c=a.createElement(b.nodeName),d=0;d<b.attributes.length;++d){var e=b.attributes[d],f=e.nodeName;e=e.nodeValue;c.setAttribute(f,e)}for(b=b.firstChild;b;b=b.nextSibling)d=tn_Bb(a,b),c.appendChild(d);return c}return a.createComment(b.nodeName)}function Set(){this.keys=[]}tn_a=Set.prototype;tn_a.size=function(){return this.keys.length};
tn_a.add=function(a,b){b=b||1;this.contains(a)||(this[":"+a]=b,this.keys.push(a))};tn_a.set=function(a,b){b=b||1;this.contains(a)?this[":"+a]=b:(this[":"+a]=b,this.keys.push(a))};tn_a.get=function(a){if(this.contains(a))return this[":"+a];var b;return b};tn_a.remove=function(a){this.contains(a)&&(delete this[":"+a],tn_Cb(this.keys,a,!0))};tn_a.contains=function(a){return"undefined"!=typeof this[":"+a]};tn_a.has=Set.prototype.contains;
tn_a.items=function(){for(var a=[],b=0;b<this.keys.length;++b){var c=this.keys[b];c=this[":"+c];a.push(c)}return a};tn_a.map=function(a){for(var b=0;b<this.keys.length;++b){var c=this.keys[b];a.call(this,c,this[":"+c])}};tn_a.clear=function(){for(var a=0;a<this.keys.length;++a)delete this[":"+this.keys[a]];this.keys.length=0};function tn_Db(a,b){for(var c=0;c<a.length;++c)b.call(this,a[c],c)}function tn_Eb(a,b){for(var c=[],d=0;d<a.length;++d)c.push(b(a[d]));return c}
function tn_Fb(a){for(var b=0;b<a.length/2;++b){var c=a[b],d=a.length-b-1;a[b]=a[d];a[d]=c}}function tn_Cb(a,b,c){for(var d=0,e=0;e<a.length;++e)if(a[e]===b||c&&a[e]==b)a.splice(e--,1),d++;return d}function tn_Gb(a,b){for(var c=0;c<b.length;++c)a.push(b[c])}function tn_o(a){if(!a)return"";var b="";if(3==a.nodeType||4==a.nodeType||2==a.nodeType)b+=a.nodeValue;else if(1==a.nodeType||9==a.nodeType||11==a.nodeType)for(var c=0;c<a.childNodes.length;++c)b+=tn_o(a.childNodes[c]);return b}
function tn_Hb(a,b){var c=[];tn_Ib(a,c,b);return c.join("")}
function tn_Ib(a,b,c){if(3==a.nodeType)b.push(tn_Jb(a.nodeValue));else if(4==a.nodeType)c?b.push(a.nodeValue):b.push("<![CDATA["+a.nodeValue+"]]\x3e");else if(8==a.nodeType)b.push("\x3c!--"+a.nodeValue+"--\x3e");else if(1==a.nodeType){b.push("<"+tn_Kb(a));for(var d=0;d<a.attributes.length;++d){var e=a.attributes[d];e&&e.nodeName&&e.nodeValue&&b.push(" "+tn_Kb(e)+'="'+tn_Jb(e.nodeValue).replace(/"/g,"&quot;")+'"')}if(0==a.childNodes.length)b.push("/>");else{b.push(">");for(d=0;d<a.childNodes.length;++d)tn_Ib(a.childNodes[d],
b,c);b.push("</"+tn_Kb(a)+">")}}else if(9==a.nodeType||11==a.nodeType)for(d=0;d<a.childNodes.length;++d)tn_Ib(a.childNodes[d],b,c)}function tn_Kb(a){return a.prefix&&0!=a.nodeName.indexOf(a.prefix+":")?a.prefix+":"+a.nodeName:a.nodeName}function tn_Jb(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function tn_n(a){if("undefined"!=typeof Error)throw Error(a||"Assertion Failed");throw a;};function tn_Lb(a){a=tn_Ab(a,"&");for(var b=a[0],c=1;c<a.length;++c){var d=a[c].indexOf(";");if(-1==d)b+=a[c];else{var e=a[c].substring(0,d);d=a[c].substring(d+1);switch(e){case "lt":e="<";break;case "gt":e=">";break;case "amp":e="&";break;case "quot":e='"';break;case "apos":e="'";break;case "nbsp":e=String.fromCharCode(160);break;default:var f=window.document.createElement("span");f.innerHTML="&"+e+"; ";e=f.childNodes[0].nodeValue.charAt(0)}b+=e+d}}return b}
var tn_Mb=new RegExp("^("+tn_mb+")"),tn_Nb=new RegExp(tn_qb,"g"),tn_Ob=new RegExp("^("+tn_tb+")"),tn_Pb=new RegExp(tn_xb,"g");
function tn_Qb(a){var b=/\/$/;if(a.match(/^<\?xml/))if(5==a.search(/[ \t\r\n]+version([ \t\r\n]+)?=([ \t\r\n]+)?("1\.0"|'1\.0')/)){var c=tn_Mb;var d=tn_Nb}else 5==a.search(/[ \t\r\n]+version([ \t\r\n]+)?=([ \t\r\n]+)?("1\.1"|'1\.1')/)?(c=tn_Ob,d=tn_Pb):alert("VersionInfo is missing, or unknown version number.");else c=tn_Mb,d=tn_Nb;var e=new tn_Rb,f=e,g=[],l=f;g.push(l);var n="";a=tn_Ab(a,"<");for(var k=1;k<a.length;++k){var h=tn_Ab(a[k],">"),m=h[0];h=tn_Lb(h[1]||"");if(n)if(m=a[k].indexOf(n),-1!=
m){var p=a[k].substring(0,m);l.nodeValue+="<"+p;g.pop();l=g[g.length-1];h=a[k].substring(m+n.length);n=""}else l.nodeValue+="<"+a[k],h=null;else if(0==m.indexOf("![CDATA["))if(p=8,m=a[k].indexOf("]]\x3e"),-1!=m){p=a[k].substring(p,m);var q=e.createCDATASection(p);l.appendChild(q)}else p=a[k].substring(p),h=null,q=e.createCDATASection(p),l.appendChild(q),l=q,g.push(q),n="]]\x3e";else if(0==m.indexOf("!--"))p=3,m=a[k].indexOf("--\x3e"),-1!=m?(p=a[k].substring(p,m),q=e.createComment(p),l.appendChild(q)):
(p=a[k].substring(p),h=null,q=e.createComment(p),l.appendChild(q),l=q,g.push(q),n="--\x3e");else if("/"==m.charAt(0))g.pop(),l=g[g.length-1];else if("?"!=m.charAt(0)&&"!"!=m.charAt(0)){p=m.match(b);q=c.exec(m)[1];q=e.createElement(q);for(var t;t=d.exec(m);){var r=tn_Lb(t[5]||t[7]||"");q.setAttribute(t[1],r)}l.appendChild(q);p||(l=q,g.push(q))}h&&l!=f&&(h=e.createTextNode(h),l.appendChild(h))}return f}
function tn_Sb(a,b,c){if(b){var d=b.call(null,a);if("boolean"==typeof d&&!d)return!1}for(var e=a.firstChild;e;e=e.nextSibling)if(1==e.nodeType&&(d=tn_Sb.call(this,e,b,c),"boolean"==typeof d&&!d))return!1;if(c&&(d=c.call(null,a),"boolean"==typeof d&&!d))return!1}function tn_p(a,b,c,d){this.attributes=[];this.childNodes=[];tn_p.init.call(this,a,b,c,d)}
tn_p.init=function(a,b,c,d){this.nodeType=a-0;this.nodeName=""+b;this.nodeValue=""+c;this.ownerDocument=d;this.parentNode=this.previousSibling=this.nextSibling=this.lastChild=this.firstChild=null};tn_p.unused_=[];
tn_p.recycle=function(a){if(a)if(a.constructor==tn_Rb)tn_p.recycle(a.documentElement);else if(a.constructor==this){tn_p.unused_.push(a);for(var b=0;b<a.attributes.length;++b)tn_p.recycle(a.attributes[b]);for(b=0;b<a.childNodes.length;++b)tn_p.recycle(a.childNodes[b]);a.attributes.length=0;a.childNodes.length=0;tn_p.init.call(a,0,"","",null)}};tn_p.create=function(a,b,c,d){if(0<tn_p.unused_.length){var e=tn_p.unused_.pop();tn_p.init.call(e,a,b,c,d);return e}return new tn_p(a,b,c,d)};tn_a=tn_p.prototype;
tn_a.appendChild=function(a){0==this.childNodes.length&&(this.firstChild=a);a.previousSibling=this.lastChild;a.nextSibling=null;this.lastChild&&(this.lastChild.nextSibling=a);a.parentNode=this;this.lastChild=a;this.childNodes.push(a)};
tn_a.replaceChild=function(a,b){if(b!=a)for(var c=0;c<this.childNodes.length;++c)if(this.childNodes[c]==b){this.childNodes[c]=a;c=b.parentNode;b.parentNode=null;a.parentNode=c;c=b.previousSibling;b.previousSibling=null;a.previousSibling=c;a.previousSibling&&(a.previousSibling.nextSibling=a);c=b.nextSibling;b.nextSibling=null;a.nextSibling=c;a.nextSibling&&(a.nextSibling.previousSibling=a);this.firstChild==b&&(this.firstChild=a);this.lastChild==b&&(this.lastChild=a);break}};
tn_a.insertBefore=function(a,b){if(b!=a&&b.parentNode==this){a.parentNode&&a.parentNode.removeChild(a);for(var c=[],d=0;d<this.childNodes.length;++d){var e=this.childNodes[d];e==b&&(c.push(a),a.parentNode=this,a.previousSibling=b.previousSibling,b.previousSibling=a,a.previousSibling&&(a.previousSibling.nextSibling=a),a.nextSibling=b,this.firstChild==b&&(this.firstChild=a));c.push(e)}this.childNodes=c}};
tn_a.removeChild=function(a){for(var b=[],c=0;c<this.childNodes.length;++c){var d=this.childNodes[c];d!=a?b.push(d):(d.previousSibling&&(d.previousSibling.nextSibling=d.nextSibling),d.nextSibling&&(d.nextSibling.previousSibling=d.previousSibling),this.firstChild==d&&(this.firstChild=d.nextSibling),this.lastChild==d&&(this.lastChild=d.previousSibling))}this.childNodes=b};tn_a.hasAttributes=function(){return 0<this.attributes.length};
tn_a.setAttribute=function(a,b){for(var c=0;c<this.attributes.length;++c)if(this.attributes[c].nodeName==a){this.attributes[c].nodeValue=""+b;return}this.attributes.push(tn_p.create(2,a,b,this))};tn_a.getAttribute=function(a){for(var b=0;b<this.attributes.length;++b)if(this.attributes[b].nodeName==a)return this.attributes[b].nodeValue;return null};
tn_a.removeAttribute=function(a){for(var b=[],c=0;c<this.attributes.length;++c)this.attributes[c].nodeName!=a&&b.push(this.attributes[c]);this.attributes=b};tn_a.getElementsByTagName=function(a){var b=[];tn_Sb(this,function(c){c.nodeName==a&&b.push(c)},null);return b};tn_a.getElementById=function(a){var b=null;tn_Sb(this,function(c){if(c.getAttribute("id")==a)return b=c,!1},null);return b};function tn_Rb(){tn_p.call(this,9,"#document",null,null);this.documentElement=null}
tn_Rb.prototype=new tn_p(9,"#document");tn_a=tn_Rb.prototype;tn_a.clear=function(){tn_p.recycle(this.documentElement);this.documentElement=null};tn_a.appendChild=function(a){tn_p.prototype.appendChild.call(this,a);this.documentElement=this.childNodes[0]};tn_a.createElement=function(a){return tn_p.create(1,a,null,this)};tn_a.createDocumentFragment=function(){return tn_p.create(11,"#document-fragment",null,this)};tn_a.createTextNode=function(a){return tn_p.create(3,"#text",a,this)};
tn_a.createAttribute=function(a){return tn_p.create(2,a,null,this)};tn_a.createComment=function(a){return tn_p.create(8,"#comment",a,this)};tn_a.createCDATASection=function(a){return tn_p.create(4,"#cdata-section",a,this)};function tn_Tb(a,b){tn_Ub(new tn_q(a,b),b)}
function tn_Ub(a,b){var c=b.getAttribute("select");if(c){b.removeAttribute("select");var d=b;c=c.split(/;/);var e=tn_Vb(c[0],a).nodeSetValue();if(0<e.length){b=[];for(var f=1;f<e.length;++f){var g=tn_Bb(d.ownerDocument,d);b.push(g);d.parentNode.insertBefore(g,d)}b.push(d);d=[];for(f=1;f<c.length;++f){var l=c[f],n=0;"#"==l.charAt(n)?(g="number",n++):g="text";"-"==l.charAt(n)?(l="descending",n++):l="ascending";n=tn_Wb(c[f].substr(n));d.push({expr:n,type:g,order:l})}a=a.clone(e[0],0,e);tn_Xb(a,d);for(f=
0;f<a.nodelist.length;++f)1==a.nodelist[f].nodeType&&tn_Ub(a.clone(a.nodelist[f],f),b[f])}else d.parentNode.removeChild(d)}else{if(c=b.getAttribute("display"))if(tn_Vb(c,a).booleanValue())b.removeAttribute("display");else{b.parentNode.removeChild(b);return}if(d=b.getAttribute("values"))for(b.removeAttribute("values"),c=a,e=b,d=d.split(/;/),f=0;f<d.length;++f)n=d[f].indexOf(":"),0>n||(g=d[f].substr(0,n),n=tn_Vb(d[f].substr(n+1),c),"$"==g.charAt(0)?c.setVariable(g.substr(1),n):g&&(n=n.stringValue(),
e.setAttribute(g,n)));if(e=b.getAttribute("transclude"))c=b.ownerDocument,c=(e=c.getElementById(e))?tn_Bb(c,e):null,c?(b.parentNode.replaceChild(c,b),tn_Ub(a,c)):b.parentNode.removeChild(b),tn_p.recycle(b);else if(c=b.getAttribute("content")){for(b.removeAttribute("content");b.firstChild;)b.removeChild(b.firstChild);a=tn_Vb(c,a);if("node-set"==a.type)for(c=0;c<a.value.length;++c)if(e=a.value[c],1==e.nodeType)for(e=e.firstChild;e;e=e.nextSibling)d=tn_Bb(b.ownerDocument,e),b.appendChild(d);else 2==
e.nodeType&&(e=b.ownerDocument.createTextNode(e.nodeValue),b.appendChild(e));else a=a.stringValue(),e=b.ownerDocument.createTextNode(a),b.appendChild(e)}else{c=[];for(e=0;e<b.childNodes.length;++e)1==b.childNodes[e].nodeType&&c.push(b.childNodes[e]);for(e=0;e<c.length;++e)tn_Ub(a,c[e])}}}function tn_Vb(a,b){a=tn_Wb(a);return b=a.evaluate(b)};function tn_Wb(a){tn_Yb();var b=tn_Zb[a];if(b)return b;if(a.match(/^(\$|@)?\w+$/i))return b=tn__b(a),tn_Zb[a]=b;if(a.match(/^\w+(\/\w+)*$/i)){b=tn_Ab(a,"/");for(var c=new tn_r,d=0;d<b.length;++d){var e=new tn_0b(b[d]);e=new tn_s("child",e);c.appendStep(e)}b=c;return tn_Zb[a]=b}b=a;c=[];d=null;for(var f=!1,g=0,l=0,n=0;!f;){g++;a=a.replace(/^\s*/,"");e=d;for(var k=d=null,h="",m=0;m<tn_1b.length;++m){var p=tn_1b[m].re.exec(a);l++;if(p&&0<p.length&&p[0].length>h.length){k=tn_1b[m];h=p[0];break}}!k||k!=
tn_2b&&k!=tn_3b&&k!=tn_4b&&k!=tn_5b||e&&e.tag!=tn_6b&&e.tag!=tn_7b&&e.tag!=tn_8b&&e.tag!=tn_9b&&e.tag!=tn_$b||(k=tn_ac);k?(a=a.substr(h.length),d={tag:k,match:h,prec:k.prec?k.prec:0,expr:new tn_bc(h)}):f=!0;for(;tn_cc(c,d);)n++}if(1!=c.length){a="";for(d=0;d<c.length;++d)a&&(a+="\n"),a+=c[d].tag.label;tn_n("XPath parse error "+b+":\n"+a)}p=c[0].expr;return tn_Zb[b]=p}var tn_Zb={};
function tn_cc(a,b){var c=null;if(0<a.length){var d=a[a.length-1];if(d=tn_dc[d.tag.key])for(var e=0;e<d.length;++e){var f=d[e],g=tn_ec(a,f[1]);if(g.length){c={tag:f[0],rule:f,match:g};c.prec=tn_fc(c);break}}}if(c&&(!b||c.prec>b.prec||b.tag.left&&c.prec>=b.prec)){for(e=0;e<c.match.matchlength;++e)a.pop();b=tn_Eb(c.match,function(l){return l.expr});c.expr=c.rule[3].apply(null,b);a.push(c);a=!0}else b&&a.push(b),a=!1;return a}
function tn_ec(a,b){var c=a.length,d=b.length,e=[],f=e.matchlength=0;--d;for(--c;0<=d&&0<=c;--d,c-=f){f=0;var g=[];if(b[d]==tn_gc)for(--d,e.push(g);0<=c-f&&a[c-f].tag==b[d];)g.push(a[c-f]),f+=1,e.matchlength+=1;else if(b[d]==tn_hc)for(--d,e.push(g);0<=c-f&&2>f&&a[c-f].tag==b[d];)g.push(a[c-f]),f+=1,e.matchlength+=1;else if(b[d]==tn_ic)if(--d,e.push(g),a[c].tag==b[d])for(;0<=c-f&&a[c-f].tag==b[d];)g.push(a[c-f]),f+=1,e.matchlength+=1;else return[];else if(a[c].tag==b[d])e.push(a[c]),f+=1,e.matchlength+=
1;else return[];tn_Fb(g);g.expr=tn_Eb(g,function(l){return l.expr})}tn_Fb(e);return-1==d?e:[]}function tn_fc(a){var b=0;if(a.rule)if(3<=a.rule.length&&0<=a.rule[2])b=a.rule[2];else for(var c=0;c<a.rule[1].length;++c){var d=a.rule[1][c].prec||2;b=Math.max(b,d)}else if(a.tag)b=a.tag.prec||2;else if(a.length)for(c=0;c<a.length;++c)d=tn_fc(a[c]),b=Math.max(b,d);return b}
function tn_q(a,b,c,d,e){this.node=a;this.stylesheet=b||null;this.position=c||0;this.nodelist=d||[a];this.variables={};this.parent=e||null;this.root=e?e.root:9==this.node.nodeType?a:a.ownerDocument}tn_q.prototype.clone=function(a,b,c){return new tn_q(a||this.node,this.stylesheet,"undefined"!=typeof b?b:this.position,c||this.nodelist,this)};tn_q.prototype.setVariable=function(a,b){this.variables[a]=b};
tn_q.prototype.getVariable=function(a){return"undefined"!=typeof this.variables[a]?this.variables[a]:this.parent?this.parent.getVariable(a):null};tn_q.prototype.setNode=function(a){this.node=this.nodelist[a];this.position=a};function tn_t(a){this.value=a;this.type="string"}tn_t.prototype.stringValue=function(){return this.value};tn_t.prototype.booleanValue=function(){return 0<this.value.length};tn_t.prototype.numberValue=function(){return this.value-0};tn_t.prototype.nodeSetValue=function(){tn_n(this)};
function tn_u(a){this.value=a;this.type="boolean"}tn_u.prototype.stringValue=function(){return""+this.value};tn_u.prototype.booleanValue=function(){return this.value};tn_u.prototype.numberValue=function(){return this.value?1:0};tn_u.prototype.nodeSetValue=function(){tn_n(this)};function tn_v(a){this.value=a;this.type="number"}tn_v.prototype.stringValue=function(){return""+this.value};tn_v.prototype.booleanValue=function(){return!!this.value};
tn_v.prototype.numberValue=function(){return this.value-0};tn_v.prototype.nodeSetValue=function(){tn_n(this)};function tn_w(a){this.value=a;this.type="node-set"}tn_w.prototype.stringValue=function(){return 0==this.value.length?"":tn_o(this.value[0])};tn_w.prototype.booleanValue=function(){return 0<this.value.length};tn_w.prototype.numberValue=function(){return this.stringValue()-0};tn_w.prototype.nodeSetValue=function(){return this.value};function tn_bc(a){this.value=a}tn_bc.prototype.evaluate=function(){return new tn_t(this.value)};
function tn_r(){this.absolute=!1;this.rootExpr=null;this.steps=[]}tn_r.prototype.appendStep=function(a){this.steps.push(a)};tn_r.prototype.prependStep=function(a){this.steps.unshift(a)};tn_r.prototype.evaluate=function(a){var b=this.rootExpr?this.rootExpr.evaluate(a).nodeSetValue():this.absolute?[a.root]:[a.node];for(var c=[],d=0;d<b.length;++d){var e=b[d];tn_jc(c,this.steps,0,e,a)}return new tn_w(c)};
function tn_jc(a,b,c,d,e){var f=b[c];d=e.clone(d);f=f.evaluate(d).nodeSetValue();for(d=0;d<f.length;++d)c==b.length-1?a.push(f[d]):tn_jc(a,b,c+1,f[d],e)}function tn_s(a,b,c){this.axis=a;this.nodetest=b;this.predicate=c||[]}tn_s.prototype.appendPredicate=function(a){this.predicate.push(a)};
tn_s.prototype.evaluate=function(a){var b=a.node,c=[];if(this.axis==tn_x.ANCESTOR_OR_SELF)for(c.push(b),b=b.parentNode;b;b=b.parentNode)c.push(b);else if(this.axis==tn_x.ANCESTOR)for(b=b.parentNode;b;b=b.parentNode)c.push(b);else if(this.axis==tn_x.ATTRIBUTE)tn_Gb(c,b.attributes);else if(this.axis==tn_x.CHILD)tn_Gb(c,b.childNodes);else if(this.axis==tn_x.DESCENDANT_OR_SELF)c.push(b),tn_kc(c,b);else if(this.axis==tn_x.DESCENDANT)tn_kc(c,b);else if(this.axis==tn_x.FOLLOWING)for(;b;b=b.parentNode)for(var d=
b.nextSibling;d;d=d.nextSibling)c.push(d),tn_kc(c,d);else if(this.axis==tn_x.FOLLOWING_SIBLING)for(b=b.nextSibling;b;b=b.nextSibling)c.push(b);else if(this.axis==tn_x.NAMESPACE)tn_n("not implemented: axis namespace");else if(this.axis==tn_x.PARENT)b.parentNode&&c.push(b.parentNode);else if(this.axis==tn_x.PRECEDING)for(;b;b=b.parentNode)for(d=b.previousSibling;d;d=d.previousSibling)c.push(d),tn_lc(c,d);else if(this.axis==tn_x.PRECEDING_SIBLING)for(b=b.previousSibling;b;b=b.previousSibling)c.push(b);
else this.axis==tn_x.SELF?c.push(b):tn_n("ERROR -- NO SUCH AXIS: "+this.axis);d=c;c=[];for(var e=0;e<d.length;++e)b=d[e],this.nodetest.evaluate(a.clone(b,e,d)).booleanValue()&&c.push(b);for(e=0;e<this.predicate.length;++e){d=c;c=[];for(var f=0;f<d.length;++f)b=d[f],this.predicate[e].evaluate(a.clone(b,f,d)).booleanValue()&&c.push(b)}return new tn_w(c)};function tn_mc(){this.value=new tn_u(!0)}tn_mc.prototype.evaluate=function(){return this.value};function tn_nc(){}
tn_nc.prototype.evaluate=function(a){return new tn_u(1==a.node.nodeType||2==a.node.nodeType)};function tn_oc(){}tn_oc.prototype.evaluate=function(a){return new tn_u(3==a.node.nodeType)};function tn_pc(){}tn_pc.prototype.evaluate=function(a){return new tn_u(8==a.node.nodeType)};function tn_qc(a){this.target=a}tn_qc.prototype.evaluate=function(a){return new tn_u(7==a.node.nodeType&&(!this.target||a.node.nodeName==this.target))};function tn_rc(a){this.regex=new RegExp("^"+a+":")}
tn_rc.prototype.evaluate=function(a){a=a.node;return new tn_u(this.regex.test(a.nodeName))};function tn_0b(a){this.name=a}tn_0b.prototype.evaluate=function(a){a=a.node;return new tn_u(a.nodeName==this.name)};function tn_sc(a){this.expr=a}tn_sc.prototype.evaluate=function(a){var b=this.expr.evaluate(a);return"number"==b.type?new tn_u(a.position==b.numberValue()-1):new tn_u(b.booleanValue())};function tn_tc(a){this.name=a;this.args=[]}tn_tc.prototype.appendArg=function(a){this.args.push(a)};
tn_tc.prototype.evaluate=function(a){var b=""+this.name.value;return(b=this.xpathfunctions[b])?b.call(this,a):new tn_u(!1)};
tn_tc.prototype.xpathfunctions={last:function(a){tn_m(0==this.args.length);return new tn_v(a.nodelist.length)},position:function(a){tn_m(0==this.args.length);return new tn_v(a.position+1)},count:function(a){tn_m(1==this.args.length);a=this.args[0].evaluate(a);return new tn_v(a.nodeSetValue().length)},id:function(a){tn_m(1==this.args.length);var b=this.args[0].evaluate(a),c=[];if("node-set"==b.type){var d=[];var e=b.nodeSetValue();for(b=0;b<e.length;++b)for(var f=tn_o(e[b]).split(/\s+/),g=0;g<f.length;++g)d.push(f[g])}else d=
b.stringValue().split(/\s+/);a=a.node.ownerDocument;for(b=0;b<d.length;++b)(e=a.getElementById(d[b]))&&c.push(e);return new tn_w(c)},"local-name":function(){tn_n("not implmented yet: XPath function local-name()")},"namespace-uri":function(){tn_n("not implmented yet: XPath function namespace-uri()")},name:function(a){tn_m(1==this.args.length||0==this.args.length);a=0==this.args.length?[a.node]:this.args[0].evaluate(a).nodeSetValue();return 0==a.length?new tn_t(""):new tn_t(a[0].nodeName)},string:function(a){tn_m(1==
this.args.length||0==this.args.length);return 0==this.args.length?new tn_t((new tn_w([a.node])).stringValue()):new tn_t(this.args[0].evaluate(a).stringValue())},concat:function(a){for(var b="",c=0;c<this.args.length;++c)b+=this.args[c].evaluate(a).stringValue();return new tn_t(b)},document:function(a){var b=this.args[0].evaluate(a).stringValue();if(""===b&&a.stylesheet)return new tn_w([a.stylesheet]);tn_n("Can't resolve uri in document(\""+b+'")')},"starts-with":function(a){tn_m(2==this.args.length);
var b=this.args[0].evaluate(a).stringValue();a=this.args[1].evaluate(a).stringValue();return new tn_u(0==b.indexOf(a))},contains:function(a){tn_m(2==this.args.length);var b=this.args[0].evaluate(a).stringValue();a=this.args[1].evaluate(a).stringValue();return new tn_u(-1!=b.indexOf(a))},"substring-before":function(a){tn_m(2==this.args.length);var b=this.args[0].evaluate(a).stringValue();a=this.args[1].evaluate(a).stringValue();a=b.indexOf(a);b=-1==a?"":b.substr(0,a);return new tn_t(b)},"substring-after":function(a){tn_m(2==
this.args.length);var b=this.args[0].evaluate(a).stringValue();a=this.args[1].evaluate(a).stringValue();var c=b.indexOf(a);b=-1==c?"":b.substr(c+a.length);return new tn_t(b)},substring:function(a){tn_m(2==this.args.length||3==this.args.length);var b=this.args[0].evaluate(a).stringValue(),c=this.args[1].evaluate(a).numberValue();if(2==this.args.length)c=Math.max(0,Math.round(c)-1),b=b.substr(c);else{a=this.args[2].evaluate(a).numberValue();var d=Math.round(c)-1;c=Math.max(0,d);a=Math.round(a)-Math.max(0,
-d);b=b.substr(c,a)}return new tn_t(b)},"string-length":function(a){a=0<this.args.length?this.args[0].evaluate(a).stringValue():(new tn_w([a.node])).stringValue();return new tn_v(a.length)},"normalize-space":function(a){a=0<this.args.length?this.args[0].evaluate(a).stringValue():(new tn_w([a.node])).stringValue();a=a.replace(/^\s*/,"").replace(/\s*$/,"").replace(/\s+/g," ");return new tn_t(a)},translate:function(a){tn_m(3==this.args.length);var b=this.args[0].evaluate(a).stringValue(),c=this.args[1].evaluate(a).stringValue();
a=this.args[2].evaluate(a).stringValue();for(var d=0;d<c.length;++d)b=b.replace(new RegExp(c.charAt(d),"g"),a.charAt(d));return new tn_t(b)},"boolean":function(a){tn_m(1==this.args.length);return new tn_u(this.args[0].evaluate(a).booleanValue())},not:function(a){tn_m(1==this.args.length);a=!this.args[0].evaluate(a).booleanValue();return new tn_u(a)},"true":function(){tn_m(0==this.args.length);return new tn_u(!0)},"false":function(){tn_m(0==this.args.length);return new tn_u(!1)},lang:function(a){tn_m(1==
this.args.length);var b=this.args[0].evaluate(a).stringValue(),c;for(a=a.node;a&&a!=a.parentNode&&!(c=a.getAttribute("xml:lang"));)a=a.parentNode;return c?(b=new RegExp("^"+b+"$","i"),new tn_u(b.test(c)||b.test(c.replace(/_.*$/,"")))):new tn_u(!1)},number:function(a){tn_m(1==this.args.length||0==this.args.length);return 1==this.args.length?new tn_v(this.args[0].evaluate(a).numberValue()):new tn_v((new tn_w([a.node])).numberValue())},sum:function(a){tn_m(1==this.args.length);a=this.args[0].evaluate(a).nodeSetValue();
for(var b=0,c=0;c<a.length;++c)b+=tn_o(a[c])-0;return new tn_v(b)},floor:function(a){tn_m(1==this.args.length);a=this.args[0].evaluate(a).numberValue();return new tn_v(Math.floor(a))},ceiling:function(a){tn_m(1==this.args.length);a=this.args[0].evaluate(a).numberValue();return new tn_v(Math.ceil(a))},round:function(a){tn_m(1==this.args.length);a=this.args[0].evaluate(a).numberValue();return new tn_v(Math.round(a))},"ext-join":function(a){tn_m(2==this.args.length);var b=this.args[0].evaluate(a).nodeSetValue();
a=this.args[1].evaluate(a).stringValue();for(var c="",d=0;d<b.length;++d)c&&(c+=a),c+=tn_o(b[d]);return new tn_t(c)},"ext-if":function(a){tn_m(3==this.args.length);return this.args[0].evaluate(a).booleanValue()?this.args[1].evaluate(a):this.args[2].evaluate(a)},"ext-cardinal":function(a){tn_m(1<=this.args.length);for(var b=this.args[0].evaluate(a).numberValue(),c=[],d=0;d<b;++d)c.push(a.node);return new tn_w(c)}};function tn_uc(a,b){this.expr1=a;this.expr2=b}
tn_uc.prototype.evaluate=function(a){var b=this.expr1.evaluate(a).nodeSetValue();a=this.expr2.evaluate(a).nodeSetValue();for(var c=b.length,d=0;d<a.length;++d){for(var e=a[d],f=!1,g=0;g<c;++g)b[g]==e&&(f=!0,g=c);f||b.push(e)}return new tn_w(b)};function tn_vc(a,b){this.filter=a;this.rel=b}tn_vc.prototype.evaluate=function(a){for(var b=this.filter.evaluate(a).nodeSetValue(),c=[],d=0;d<b.length;++d)for(var e=this.rel.evaluate(a.clone(b[d],d,b)).nodeSetValue(),f=0;f<e.length;++f)c.push(e[f]);return new tn_w(c)};
function tn_wc(a,b){this.expr=a;this.predicate=b}tn_wc.prototype.evaluate=function(a){for(var b=this.expr.evaluate(a).nodeSetValue(),c=0;c<this.predicate.length;++c){var d=b;b=[];for(var e=0;e<d.length;++e){var f=d[e];this.predicate[c].evaluate(a.clone(f,e,d)).booleanValue()&&b.push(f)}}return new tn_w(b)};function tn_xc(a){this.expr=a}tn_xc.prototype.evaluate=function(a){return new tn_v(-this.expr.evaluate(a).numberValue())};function tn_yc(a,b,c){this.expr1=a;this.expr2=c;this.op=b}
tn_yc.prototype.evaluate=function(a){switch(this.op.value){case "or":var b=new tn_u(this.expr1.evaluate(a).booleanValue()||this.expr2.evaluate(a).booleanValue());break;case "and":b=new tn_u(this.expr1.evaluate(a).booleanValue()&&this.expr2.evaluate(a).booleanValue());break;case "+":b=new tn_v(this.expr1.evaluate(a).numberValue()+this.expr2.evaluate(a).numberValue());break;case "-":b=new tn_v(this.expr1.evaluate(a).numberValue()-this.expr2.evaluate(a).numberValue());break;case "*":b=new tn_v(this.expr1.evaluate(a).numberValue()*
this.expr2.evaluate(a).numberValue());break;case "mod":b=new tn_v(this.expr1.evaluate(a).numberValue()%this.expr2.evaluate(a).numberValue());break;case "div":b=new tn_v(this.expr1.evaluate(a).numberValue()/this.expr2.evaluate(a).numberValue());break;case "=":b=this.compare(a,function(c,d){return c==d});break;case "!=":b=this.compare(a,function(c,d){return c!=d});break;case "<":b=this.compare(a,function(c,d){return c<d});break;case "<=":b=this.compare(a,function(c,d){return c<=d});break;case ">":b=
this.compare(a,function(c,d){return c>d});break;case ">=":b=this.compare(a,function(c,d){return c>=d});break;default:tn_n("BinaryExpr.evaluate: "+this.op.value)}return b};
tn_yc.prototype.compare=function(a,b){var c=this.expr1.evaluate(a);a=this.expr2.evaluate(a);if("node-set"==c.type&&"node-set"==a.type){c=c.nodeSetValue();var d=a.nodeSetValue();a=!1;for(var e=0;e<c.length;++e)for(var f=0;f<d.length;++f)b(tn_o(c[e]),tn_o(d[f]))&&(a=!0,f=d.length,e=c.length)}else if("node-set"==c.type||"node-set"==a.type)if("number"==c.type)for(c=c.numberValue(),d=a.nodeSetValue(),a=!1,e=0;e<d.length;++e){if(f=tn_o(d[e])-0,b(c,f)){a=!0;break}}else if("number"==a.type)for(d=c.nodeSetValue(),
c=a.numberValue(),a=!1,e=0;e<d.length;++e){if(f=tn_o(d[e])-0,b(f,c)){a=!0;break}}else if("string"==c.type)for(c=c.stringValue(),d=a.nodeSetValue(),a=!1,e=0;e<d.length;++e){if(f=tn_o(d[e]),b(c,f)){a=!0;break}}else if("string"==a.type)for(d=c.nodeSetValue(),c=a.stringValue(),a=!1,e=0;e<d.length;++e){if(f=tn_o(d[e]),b(f,c)){a=!0;break}}else a=b(c.booleanValue(),a.booleanValue());else a="boolean"==c.type||"boolean"==a.type?b(c.booleanValue(),a.booleanValue()):"number"==c.type||"number"==a.type?b(c.numberValue(),
a.numberValue()):b(c.stringValue(),a.stringValue());return new tn_u(!!a)};function tn_zc(a){this.value=a}tn_zc.prototype.evaluate=function(){return new tn_t(this.value)};function tn_Ac(a){this.value=a}tn_Ac.prototype.evaluate=function(){return new tn_v(this.value)};function tn_Bc(a){this.name=a}tn_Bc.prototype.evaluate=function(a){return a.getVariable(this.name)};function tn_y(a){return a}function tn_Cc(a,b){b.absolute=!0;return b}
function tn_Dc(a,b){b.absolute=!0;b.prependStep(tn_Ec(a.value));return b}function tn_Fc(){var a=new tn_r;a.appendStep(tn_Ec("."));a.absolute=!0;return a}function tn_Gc(a){var b=new tn_r;b.absolute=!0;b.appendStep(tn_Ec(a.value));return b}function tn_Hc(a){var b=new tn_r;b.appendStep(a);return b}function tn_Ic(a,b,c){a.appendStep(c);return a}function tn_Jc(a,b){a.appendStep(tn_Ec(b.value));return a}function tn_Kc(a,b,c){b=new tn_r;b.rootExpr=a;b.appendStep(c);return b}
function tn_Lc(a){return tn_Ec(a.value)}function tn_Mc(a){return tn_Ec(a.value)}function tn_Nc(a,b,c){return new tn_s(a.value,c)}function tn_Oc(a,b){return new tn_s("attribute",b)}function tn_Pc(a){return new tn_s("child",a)}function tn_Qc(a,b){a.appendPredicate(b);return a}function tn_Ec(a){switch(a){case "//":return new tn_s("descendant-or-self",new tn_mc);case ".":return new tn_s("self",new tn_mc);case "..":return new tn_s("parent",new tn_mc)}}function tn_Rc(){return new tn_nc}
function tn_Sc(a){return new tn_rc(a.value)}function tn_Tc(a){return new tn_0b(a.value)}function tn_Uc(a){a=a.value.replace(/\s*\($/,"");switch(a){case "node":return new tn_mc;case "text":return new tn_oc;case "comment":return new tn_pc;case "processing-instruction":return new tn_qc("")}}function tn_Vc(a,b){a=a.replace(/\s*\($/,"");"processing-instruction"!=a&&tn_n(a);return new tn_qc(b.value)}function tn_Wc(a,b){return new tn_sc(b)}function tn_Xc(a,b){return b}
function tn_Yc(a){return new tn_tc(a)}function tn_Zc(a,b,c,d){a=new tn_tc(a);a.appendArg(c);for(c=0;c<d.length;++c)a.appendArg(d[c]);return a}function tn__c(a,b){return b}function tn_0c(a,b,c){return new tn_uc(a,c)}function tn_1c(a,b,c){return new tn_vc(a,c)}function tn_2c(a,b,c){c.prependStep(tn_Ec(b.value));return new tn_vc(a,c)}function tn_3c(a,b){return 0<b.length?new tn_wc(a,b):a}function tn_4c(a,b){return new tn_xc(b)}function tn_z(a,b,c){return new tn_yc(a,b,c)}
function tn_5c(a){a=a.value.substring(1,a.value.length-1);return new tn_zc(a)}function tn_6c(a){return new tn_Ac(a.value)}function tn_7c(a,b){return new tn_Bc(b.value)}function tn__b(a){if("$"==a.charAt(0))return new tn_Bc(a.substr(1));if("@"==a.charAt(0)){a=new tn_0b(a.substr(1));a=new tn_s("attribute",a);var b=new tn_r;b.appendStep(a);return b}if(a.match(/^[0-9]+$/))return new tn_Ac(a);a=new tn_0b(a);a=new tn_s("child",a);b=new tn_r;b.appendStep(a);return b}
var tn_x={ANCESTOR_OR_SELF:"ancestor-or-self",ANCESTOR:"ancestor",ATTRIBUTE:"attribute",CHILD:"child",DESCENDANT_OR_SELF:"descendant-or-self",DESCENDANT:"descendant",FOLLOWING_SIBLING:"following-sibling",FOLLOWING:"following",NAMESPACE:"namespace",PARENT:"parent",PRECEDING_SIBLING:"preceding-sibling",PRECEDING:"preceding",SELF:"self"},tn_8c=[tn_x.ANCESTOR_OR_SELF,tn_x.ANCESTOR,tn_x.ATTRIBUTE,tn_x.CHILD,tn_x.DESCENDANT_OR_SELF,tn_x.DESCENDANT,tn_x.FOLLOWING_SIBLING,tn_x.FOLLOWING,tn_x.NAMESPACE,tn_x.PARENT,
tn_x.PRECEDING_SIBLING,tn_x.PRECEDING,tn_x.SELF].join("|"),tn_9c={label:"|",prec:17,re:/^\|/},tn_7b={label:"//",prec:19,re:/^\/\//},tn_8b={label:"/",prec:30,re:/^\//},tn_9b={label:"::",prec:20,re:/^::/},tn_$c={label:":",prec:1E3,re:/^:/},tn_ad={label:"[axis]",re:new RegExp("^("+tn_8c+")")},tn_bd={label:"(",prec:34,re:/^\(/},tn_cd={label:")",re:/^\)/},tn_dd={label:"..",prec:34,re:/^\.\./},tn_ed={label:".",prec:34,re:/^\./},tn_6b={label:"@",prec:34,re:/^@/},tn_fd={label:",",re:/^,/},tn_5b={label:"or",
prec:10,re:/^or\b/},tn_4b={label:"and",prec:11,re:/^and\b/},tn_gd={label:"=",prec:12,re:/^=/},tn_hd={label:"!=",prec:12,re:/^!=/},tn_id={label:">=",prec:13,re:/^>=/},tn_jd={label:">",prec:13,re:/^>/},tn_kd={label:"<=",prec:13,re:/^<=/},tn_ld={label:"<",prec:13,re:/^</},tn_md={label:"+",prec:14,re:/^\+/,left:!0},tn_nd={label:"-",prec:14,re:/^\-/,left:!0},tn_2b={label:"div",prec:15,re:/^div\b/,left:!0},tn_3b={label:"mod",prec:15,re:/^mod\b/,left:!0},tn_od={label:"[",prec:32,re:/^\[/},tn_pd={label:"]",
re:/^\]/},tn_$b={label:"$",re:/^\$/},tn_qd={label:"[ncname]",re:new RegExp("^"+tn_zb)},tn_rd={label:"*",prec:15,re:/^\*/,left:!0},tn_sd={label:"[litq]",prec:20,re:/^'[^\']*'/},tn_td={label:"[litqq]",prec:20,re:/^"[^\"]*"/},tn_ud={label:"[number]",prec:35,re:/^\d+(\.\d*)?/},tn_ac={label:"[qname]",re:new RegExp("^("+tn_zb+":)?"+tn_zb)},tn_vd={label:"[nodetest-start]",re:/^(processing-instruction|comment|text|node)\(/},tn_1b=[tn_7b,tn_8b,tn_dd,tn_ed,tn_9b,tn_$c,tn_ad,tn_vd,tn_bd,tn_cd,tn_od,tn_pd,tn_6b,
tn_fd,tn_5b,tn_4b,tn_hd,tn_gd,tn_id,tn_jd,tn_kd,tn_ld,tn_md,tn_nd,tn_rd,tn_9c,tn_3b,tn_2b,tn_sd,tn_td,tn_ud,tn_ac,tn_qd,tn_$b],tn_wd={label:"LocationPath"},tn_A={label:"RelativeLocationPath"},tn_xd={label:"AbsoluteLocationPath"},tn_B={label:"Step"},tn_C={label:"NodeTest"},tn_yd={label:"Predicate"},tn_zd={label:"Literal"},tn_D={label:"Expr"},tn_E={label:"PrimaryExpr"},tn_Ad={label:"Variablereference"},tn_Bd={label:"Number"},tn_Cd={label:"FunctionCall"},tn_Dd={label:"ArgumentRemainder"},tn_Ed={label:"PathExpr"},
tn_Fd={label:"UnionExpr"},tn_Gd={label:"FilterExpr"},tn_Hd={label:"Digits"},tn_Id=[tn_wd,tn_A,tn_xd,tn_B,tn_C,tn_yd,tn_zd,tn_D,tn_E,tn_Ad,tn_Bd,tn_Cd,tn_Dd,tn_Ed,tn_Fd,tn_Gd,tn_Hd],tn_hc={label:"?"},tn_gc={label:"*"},tn_ic={label:"+"},tn_Jd=[[tn_wd,[tn_A],18,tn_y],[tn_wd,[tn_xd],18,tn_y],[tn_xd,[tn_8b,tn_A],18,tn_Cc],[tn_xd,[tn_7b,tn_A],18,tn_Dc],[tn_xd,[tn_8b],0,tn_Fc],[tn_xd,[tn_7b],0,tn_Gc],[tn_A,[tn_B],31,tn_Hc],[tn_A,[tn_A,tn_8b,tn_B],31,tn_Ic],[tn_A,[tn_A,tn_7b,tn_B],31,tn_Jc],[tn_A,[tn_E,tn_8b,
tn_B],31,tn_Kc],[tn_B,[tn_ed],33,tn_Lc],[tn_B,[tn_dd],33,tn_Mc],[tn_B,[tn_ad,tn_9b,tn_C],33,tn_Nc],[tn_B,[tn_6b,tn_C],33,tn_Oc],[tn_B,[tn_C],33,tn_Pc],[tn_B,[tn_B,tn_yd],33,tn_Qc],[tn_C,[tn_rd],33,tn_Rc],[tn_C,[tn_qd,tn_$c,tn_rd],33,tn_Sc],[tn_C,[tn_ac],33,tn_Tc],[tn_C,[tn_vd,tn_cd],33,tn_Uc],[tn_C,[tn_vd,tn_zd,tn_cd],33,tn_Vc],[tn_yd,[tn_od,tn_D,tn_pd],33,tn_Wc],[tn_E,[tn_Ad],33,tn_y],[tn_E,[tn_bd,tn_D,tn_cd],33,tn_Xc],[tn_E,[tn_zd],30,tn_y],[tn_E,[tn_Bd],30,tn_y],[tn_E,[tn_Cd],30,tn_y],[tn_Cd,[tn_ac,
tn_bd,tn_cd],-1,tn_Yc],[tn_Cd,[tn_ac,tn_bd,tn_D,tn_Dd,tn_gc,tn_cd],-1,tn_Zc],[tn_Dd,[tn_fd,tn_D],-1,tn__c],[tn_Fd,[tn_Ed],20,tn_y],[tn_Fd,[tn_Fd,tn_9c,tn_Ed],20,tn_0c],[tn_Ed,[tn_wd],20,tn_y],[tn_Ed,[tn_Gd],19,tn_y],[tn_Ed,[tn_Gd,tn_8b,tn_A],20,tn_1c],[tn_Ed,[tn_Gd,tn_7b,tn_A],20,tn_2c],[tn_Gd,[tn_E,tn_yd,tn_gc],20,tn_3c],[tn_D,[tn_E],16,tn_y],[tn_D,[tn_Fd],16,tn_y],[tn_D,[tn_nd,tn_D],-1,tn_4c],[tn_D,[tn_D,tn_5b,tn_D],-1,tn_z],[tn_D,[tn_D,tn_4b,tn_D],-1,tn_z],[tn_D,[tn_D,tn_gd,tn_D],-1,tn_z],[tn_D,
[tn_D,tn_hd,tn_D],-1,tn_z],[tn_D,[tn_D,tn_ld,tn_D],-1,tn_z],[tn_D,[tn_D,tn_kd,tn_D],-1,tn_z],[tn_D,[tn_D,tn_jd,tn_D],-1,tn_z],[tn_D,[tn_D,tn_id,tn_D],-1,tn_z],[tn_D,[tn_D,tn_md,tn_D],-1,tn_z,!0],[tn_D,[tn_D,tn_nd,tn_D],-1,tn_z,!0],[tn_D,[tn_D,tn_rd,tn_D],-1,tn_z,!0],[tn_D,[tn_D,tn_2b,tn_D],-1,tn_z,!0],[tn_D,[tn_D,tn_3b,tn_D],-1,tn_z,!0],[tn_zd,[tn_sd],-1,tn_5c],[tn_zd,[tn_td],-1,tn_5c],[tn_Bd,[tn_ud],-1,tn_6c],[tn_Ad,[tn_$b,tn_ac],200,tn_7c]],tn_dc=[];
function tn_Yb(){function a(f,g,l){f[g]||(f[g]=[]);f[g].push(l)}if(!tn_dc.length){tn_Jd.sort(function(f,g){f=f[1].length;g=g[1].length;return f<g?1:f>g?-1:0});for(var b=1,c=0;c<tn_Id.length;++c)tn_Id[c].key=b++;for(c=0;c<tn_1b.length;++c)tn_1b[c].key=b++;for(c=0;c<tn_Jd.length;++c){b=tn_Jd[c];for(var d=b[1],e=d.length-1;0<=e;--e)if(d[e]==tn_ic){a(tn_dc,d[e-1].key,b);break}else if(d[e]==tn_gc||d[e]==tn_hc)a(tn_dc,d[e-1].key,b),--e;else{a(tn_dc,d[e].key,b);break}}tn_Db(tn_dc,function(){})}}
function tn_kc(a,b){for(b=b.firstChild;b;b=b.nextSibling)a.push(b),tn_kc(a,b)}function tn_lc(a,b){for(b=b.lastChild;b;b=b.previousSibling)a.push(b),tn_lc(a,b)}
function tn_Xb(a,b){if(0!=b.length){for(var c=[],d=0;d<a.nodelist.length;++d){var e=a.nodelist[d],f={node:e,key:[]};e=a.clone(e,0,[e]);for(var g=0;g<b.length;++g){var l=b[g],n=l.expr.evaluate(e),k;"text"==l.type?k=n.stringValue():"number"==l.type&&(k=n.numberValue());f.key.push({value:k,order:l.order})}f.key.push({value:d,order:"ascending"});c.push(f)}c.sort(tn_Kd);b=[];for(d=0;d<c.length;++d)b.push(c[d].node);a.nodelist=b;a.setNode(0)}}
function tn_Kd(a,b){for(var c=0;c<a.key.length;++c){var d="descending"==a.key[c].order?-1:1;if(a.key[c].value>b.key[c].value)return 1*d;if(a.key[c].value<b.key[c].value)return-1*d}return 0}function tn_F(a,b){a=tn_Wb(a);return b=a.evaluate(b)};function tn_Ld(a,b){var c=(new tn_Rb).createDocumentFragment();tn_Md(new tn_q(a,b),b,c);return a=tn_Hb(c)}
function tn_Md(a,b,c){var d=9==c.nodeType?c:c.ownerDocument;var e=b.nodeName.split(/:/);if(1==e.length||"xsl"!=e[0])if(3==b.nodeType)tn_Nd(b)&&(d=d.createTextNode(b.nodeValue),c.appendChild(d));else if(1==b.nodeType){d=d.createElement(b.nodeName);for(e=0;e<b.attributes.length;++e){var f=b.attributes[e];if(f){var g=f.nodeName;f=tn_Od(f.nodeValue,a);d.setAttribute(g,f)}}c.appendChild(d);tn_G(a,b,d)}else tn_G(a,b,c);else switch(e[1]){case "apply-imports":alert("not implemented: "+e[1]);break;case "apply-templates":e=
(e=tn_H(b,"select"))?tn_F(e,a).nodeSetValue():a.node.childNodes;a=a.clone(e[0],0,e);tn_Pd(a,b);tn_Qd(a,b);f=tn_H(b,"mode");d=b.ownerDocument.documentElement;e=[];for(b=0;b<d.childNodes.length;++b)g=d.childNodes[b],1==g.nodeType&&"xsl:template"==g.nodeName&&g.getAttribute("mode")==f&&e.push(g);for(d=0;d<a.nodelist.length;++d)for(g=a.nodelist[d],b=0;b<e.length;++b)tn_Md(a.clone(g,d),e[b],c);break;case "attribute":e=tn_H(b,"name");e=tn_Od(e,a);g=d.createDocumentFragment();tn_G(a,b,g);b=tn_o(g);c.setAttribute(e,
b);break;case "attribute-set":alert("not implemented: "+e[1]);break;case "call-template":e=tn_H(b,"name");d=b.ownerDocument.documentElement;a=a.clone();tn_Pd(a,b);for(b=0;b<d.childNodes.length;++b)if(g=d.childNodes[b],1==g.nodeType&&"xsl:template"==g.nodeName&&g.getAttribute("name")==e){tn_G(a,g,c);break}break;case "choose":for(d=0;d<b.childNodes.length;++d)if(e=b.childNodes[d],1==e.nodeType)if("xsl:when"==e.nodeName){if(g=tn_H(e,"test"),tn_F(g,a).booleanValue()){tn_G(a,e,c);break}}else if("xsl:otherwise"==
e.nodeName){tn_G(a,e,c);break}break;case "comment":g=d.createDocumentFragment();tn_G(a,b,g);b=tn_o(g);b=d.createComment(b);c.appendChild(b);break;case "copy":(g=tn_Rd(c,a.node,d))&&tn_G(a,b,g);break;case "copy-of":e=tn_H(b,"select");b=tn_F(e,a);if("node-set"==b.type)for(e=b.nodeSetValue(),b=0;b<e.length;++b)tn_Sd(c,e[b],d);else b=b.stringValue(),g=d.createTextNode(b),c.appendChild(g);break;case "decimal-format":alert("not implemented: "+e[1]);break;case "element":e=tn_H(b,"name");e=tn_Od(e,a);g=d.createElement(e);
c.appendChild(g);tn_G(a,b,g);break;case "fallback":alert("not implemented: "+e[1]);break;case "for-each":d=tn_H(b,"select");d=tn_F(d,a).nodeSetValue();a=a.clone(d[0],0,d);tn_Qd(a,b);for(d=0;d<a.nodelist.length;++d)e=a.nodelist[d],tn_G(a.clone(e,d),b,c);break;case "if":d=tn_H(b,"test");d=tn_F(d,a);null!=d&&d.booleanValue()&&tn_G(a,b,c);break;case "import":alert("not implemented: "+e[1]);break;case "include":alert("not implemented: "+e[1]);break;case "key":alert("not implemented: "+e[1]);break;case "message":alert("not implemented: "+
e[1]);break;case "namespace-alias":alert("not implemented: "+e[1]);break;case "number":alert("not implemented: "+e[1]);break;case "otherwise":alert("error if here: "+e[1]);break;case "output":break;case "preserve-space":break;case "processing-instruction":alert("not implemented: "+e[1]);break;case "sort":break;case "strip-space":alert("not implemented: "+e[1]);break;case "stylesheet":case "transform":tn_G(a,b,c);break;case "template":if(d=e=tn_H(b,"match")){d=a;e=tn_Wb(e);if(e.steps&&!e.absolute&&
1==e.steps.length&&"child"==e.steps[0].axis&&0==e.steps[0].predicate.length)g=e.steps[0].nodetest.evaluate(d).booleanValue();else for(g=!1,f=d.node;!g&&f;){for(var l=e.evaluate(d.clone(f,0,[f])).nodeSetValue(),n=0;n<l.length;++n)if(l[n]==d.node){g=!0;break}f=f.parentNode}d=g}d&&tn_G(a,b,c);break;case "text":b=tn_o(b);g=d.createTextNode(b);c.appendChild(g);break;case "value-of":e=tn_H(b,"select");b=tn_F(e,a).stringValue();g=d.createTextNode(b);c.appendChild(g);break;case "param":tn_Td(a,b,!1);break;
case "variable":tn_Td(a,b,!0);break;case "when":alert("error if here: "+e[1]);break;case "with-param":alert("error if here: "+e[1]);break;default:alert("error if here: "+e[1])}}function tn_Pd(a,b){for(var c=0;c<b.childNodes.length;++c){var d=b.childNodes[c];1==d.nodeType&&"xsl:with-param"==d.nodeName&&tn_Td(a,d,!0)}}
function tn_Qd(a,b){for(var c=[],d=0;d<b.childNodes.length;++d){var e=b.childNodes[d];if(1==e.nodeType&&"xsl:sort"==e.nodeName){var f=tn_H(e,"select");f=tn_Wb(f);var g=tn_H(e,"data-type")||"text";e=tn_H(e,"order")||"ascending";c.push({expr:f,type:g,order:e})}}tn_Xb(a,c)}function tn_Td(a,b,c){var d=tn_H(b,"name"),e=tn_H(b,"select");0<b.childNodes.length?(e=b.ownerDocument.createDocumentFragment(),tn_G(a,b,e),b=new tn_w([e])):b=e?tn_F(e,a):new tn_t("");!c&&a.getVariable(d)||a.setVariable(d,b)}
function tn_G(a,b,c){a=a.clone();for(var d=0;d<b.childNodes.length;++d)tn_Md(a,b.childNodes[d],c)}function tn_Nd(a){if(!a.nodeValue.match(/^\s*$/))return!0;a=a.parentNode;if("xsl:text"==a.nodeName)return!0;for(;a&&1==a.nodeType;){var b=a.getAttribute("xml:space");if(b)if("default"==b)break;else if("preserve"==b)return!0;a=a.parentNode}return!1}
function tn_Od(a,b){var c=tn_Ab(a,"{");if(1==c.length)return a;a="";for(var d=0;d<c.length;++d){var e=tn_Ab(c[d],"}");if(2!=e.length)a+=c[d];else{var f=tn_F(e[0],b).stringValue();a+=f+e[1]}}return a}function tn_H(a,b){return(a=a.getAttribute(b))?tn_Lb(a):a}
function tn_Sd(a,b,c){if(11==b.nodeType||9==b.nodeType)for(var d=0;d<b.childNodes.length;++d)tn_Sd(a,b.childNodes[d],c);else if(a=tn_Rd(a,b,c)){for(d=0;d<b.attributes.length;++d)tn_Sd(a,b.attributes[d],c);for(d=0;d<b.childNodes.length;++d)tn_Sd(a,b.childNodes[d],c)}}
function tn_Rd(a,b,c){if(1==b.nodeType)return b=c.createElement(b.nodeName),a.appendChild(b),b;3==b.nodeType?(b=c.createTextNode(b.nodeValue),a.appendChild(b)):4==b.nodeType?(b=c.createCDATASection(b.nodeValue),a.appendChild(b)):8==b.nodeType?(b=c.createComment(b.nodeValue),a.appendChild(b)):2==b.nodeType&&a.setAttribute(b.nodeName,b.nodeValue);return null};window.nxslProcess=tn_Tb;window.xmlParse=tn_Qb;window.xsltProcess=tn_Ld;window.xmlText=tn_Hb;window.xmlImportNode=tn_Bb;tn_.dom.classlist={};tn_.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST=!1;tn_.dom.classlist.getClassName_=function(a){return"string"==typeof a.className?a.className:a.getAttribute&&a.getAttribute("class")||""};tn_.dom.classlist.get=function(a){return tn_.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList?a.classList:tn_.dom.classlist.getClassName_(a).match(/\S+/g)||[]};tn_.dom.classlist.set=function(a,b){"string"==typeof a.className?a.className=b:a.setAttribute&&a.setAttribute("class",b)};
tn_.dom.classlist.contains=function(a,b){return tn_.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList?a.classList.contains(b):tn_g(tn_.dom.classlist.get(a),b)};tn_.dom.classlist.add=function(a,b){if(tn_.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList)a.classList.add(b);else if(!tn_.dom.classlist.contains(a,b)){var c=tn_.dom.classlist.getClassName_(a);tn_.dom.classlist.set(a,c+(0<c.length?" "+b:b))}};
tn_.dom.classlist.addAll=function(a,b){if(tn_.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList)tn_e(b,function(e){tn_.dom.classlist.add(a,e)});else{var c={};tn_e(tn_.dom.classlist.get(a),function(e){c[e]=!0});tn_e(b,function(e){c[e]=!0});b="";for(var d in c)b+=0<b.length?" "+d:d;tn_.dom.classlist.set(a,b)}};
tn_.dom.classlist.remove=function(a,b){tn_.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList?a.classList.remove(b):tn_.dom.classlist.contains(a,b)&&tn_.dom.classlist.set(a,tn_la(tn_.dom.classlist.get(a),function(c){return c!=b}).join(" "))};tn_.dom.classlist.removeAll=function(a,b){tn_.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList?tn_e(b,function(c){tn_.dom.classlist.remove(a,c)}):tn_.dom.classlist.set(a,tn_la(tn_.dom.classlist.get(a),function(c){return!tn_g(b,c)}).join(" "))};
tn_.dom.classlist.enable=function(a,b,c){c?tn_.dom.classlist.add(a,b):tn_.dom.classlist.remove(a,b)};tn_.dom.classlist.enableAll=function(a,b,c){c=c?tn_.dom.classlist.addAll:tn_.dom.classlist.removeAll;c(a,b)};tn_.dom.classlist.swap=function(a,b,c){return tn_.dom.classlist.contains(a,b)?(tn_.dom.classlist.remove(a,b),tn_.dom.classlist.add(a,c),!0):!1};tn_.dom.classlist.toggle=function(a,b){var c=!tn_.dom.classlist.contains(a,b);tn_.dom.classlist.enable(a,b,c);return c};
tn_.dom.classlist.addRemove=function(a,b,c){tn_.dom.classlist.remove(a,b);tn_.dom.classlist.add(a,c)};tn_.string.DETECT_DOUBLE_ESCAPING=!1;tn_.string.FORCE_NON_DOM_HTML_UNESCAPING=!1;tn_.string.Unicode={NBSP:"\u00a0"};tn_.string.startsWith=tn_.string.internal.startsWith;tn_.string.endsWith=tn_.string.internal.endsWith;tn_.string.caseInsensitiveStartsWith=tn_.string.internal.caseInsensitiveStartsWith;tn_.string.caseInsensitiveEndsWith=tn_.string.internal.caseInsensitiveEndsWith;tn_.string.caseInsensitiveEquals=tn_.string.internal.caseInsensitiveEquals;
tn_.string.subs=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")};tn_.string.collapseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};tn_.string.isEmptyOrWhitespace=tn_.string.internal.isEmptyOrWhitespace;tn_.string.isEmptyString=function(a){return 0==a.length};tn_.string.isEmpty=tn_.string.isEmptyOrWhitespace;tn_.string.isEmptyOrWhitespaceSafe=function(a){return tn_.string.isEmptyOrWhitespace(tn_.string.makeSafe(a))};
tn_.string.isEmptySafe=tn_.string.isEmptyOrWhitespaceSafe;tn_.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)};tn_.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};tn_.string.isNumeric=function(a){return!/[^0-9]/.test(a)};tn_.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)};tn_.string.isSpace=function(a){return" "==a};tn_.string.isUnicodeChar=function(a){return 1==a.length&&" "<=a&&"~">=a||"\u0080"<=a&&"\ufffd">=a};
tn_.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};tn_.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};tn_.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")};tn_.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};tn_.string.collapseBreakingSpaces=function(a){return a.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};tn_.string.trim=tn_.string.internal.trim;
tn_.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};tn_.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")};tn_.string.caseInsensitiveCompare=tn_.string.internal.caseInsensitiveCompare;
tn_.string.numberAwareCompare_=function(a,b,c){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var d=a.toLowerCase().match(c),e=b.toLowerCase().match(c),f=Math.min(d.length,e.length),g=0;g<f;g++){c=d[g];var l=e[g];if(c!=l)return a=parseInt(c,10),!isNaN(a)&&(b=parseInt(l,10),!isNaN(b)&&a-b)?a-b:c<l?-1:1}return d.length!=e.length?d.length-e.length:a<b?-1:1};tn_.string.intAwareCompare=function(a,b){return tn_.string.numberAwareCompare_(a,b,/\d+|\D+/g)};
tn_.string.floatAwareCompare=function(a,b){return tn_.string.numberAwareCompare_(a,b,/\d+|\.\d+|\D+/g)};tn_.string.numerateCompare=tn_.string.floatAwareCompare;tn_.string.urlEncode=function(a){return encodeURIComponent(String(a))};tn_.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\+/g," "))};tn_.string.newLineToBr=tn_.string.internal.newLineToBr;
tn_.string.htmlEscape=function(a,b){a=tn_.string.internal.htmlEscape(a,b);tn_.string.DETECT_DOUBLE_ESCAPING&&(a=a.replace(tn_.string.E_RE_,"&#101;"));return a};tn_.string.E_RE_=/e/g;tn_.string.unescapeEntities=function(a){return tn_.string.contains(a,"&")?!tn_.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in tn_.global?tn_.string.unescapeEntitiesUsingDom_(a):tn_.string.unescapePureXmlEntities_(a):a};
tn_.string.unescapeEntitiesWithDocument=function(a,b){return tn_.string.contains(a,"&")?tn_.string.unescapeEntitiesUsingDom_(a,b):a};
tn_.string.unescapeEntitiesUsingDom_=function(a,b){var c={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"'};var d=b?b.createElement("div"):tn_.global.document.createElement("div");return a.replace(tn_.string.HTML_ENTITY_PATTERN_,function(e,f){var g=c[e];if(g)return g;"#"==f.charAt(0)&&(f=Number("0"+f.substr(1)),isNaN(f)||(g=String.fromCharCode(f)));g||(tn_.dom.safe.setInnerHtml(d,tn_.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(tn_.string.Const.from("Single HTML entity."),
e+" ")),g=d.firstChild.nodeValue.slice(0,-1));return c[e]=g})};tn_.string.unescapePureXmlEntities_=function(a){return a.replace(/&([^;]+);/g,function(b,c){switch(c){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:return"#"!=c.charAt(0)||(c=Number("0"+c.substr(1)),isNaN(c))?b:String.fromCharCode(c)}})};tn_.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;tn_.string.whitespaceEscape=function(a,b){return tn_.string.newLineToBr(a.replace(/  /g," &#160;"),b)};
tn_.string.preserveSpaces=function(a){return a.replace(/(^|[\n ]) /g,"$1"+tn_.string.Unicode.NBSP)};tn_.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d<c;d++){var e=1==c?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a};tn_.string.truncate=function(a,b,c){c&&(a=tn_.string.unescapeEntities(a));a.length>b&&(a=a.substring(0,b-3)+"...");c&&(a=tn_.string.htmlEscape(a));return a};
tn_.string.truncateMiddle=function(a,b,c,d){c&&(a=tn_.string.unescapeEntities(a));if(d&&a.length>b){d>b&&(d=b);var e=a.length-d;b-=d;a=a.substring(0,b)+"..."+a.substring(e)}else a.length>b&&(e=Math.floor(b/2),d=a.length-e,e+=b%2,a=a.substring(0,e)+"..."+a.substring(d));c&&(a=tn_.string.htmlEscape(a));return a};tn_.string.specialEscapeChars_={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"};tn_.string.jsEscapeCache_={"'":"\\'"};
tn_.string.quote=function(a){a=String(a);for(var b=['"'],c=0;c<a.length;c++){var d=a.charAt(c),e=d.charCodeAt(0);b[c+1]=tn_.string.specialEscapeChars_[d]||(31<e&&127>e?d:tn_.string.escapeChar(d))}b.push('"');return b.join("")};tn_.string.escapeString=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=tn_.string.escapeChar(a.charAt(c));return b.join("")};
tn_.string.escapeChar=function(a){if(a in tn_.string.jsEscapeCache_)return tn_.string.jsEscapeCache_[a];if(a in tn_.string.specialEscapeChars_)return tn_.string.jsEscapeCache_[a]=tn_.string.specialEscapeChars_[a];var b=a.charCodeAt(0);if(31<b&&127>b)var c=a;else{if(256>b){if(c="\\x",16>b||256<b)c+="0"}else c="\\u",4096>b&&(c+="0");c+=b.toString(16).toUpperCase()}return tn_.string.jsEscapeCache_[a]=c};tn_.string.contains=tn_.string.internal.contains;tn_.string.caseInsensitiveContains=tn_.string.internal.caseInsensitiveContains;
tn_.string.countOf=function(a,b){return a&&b?a.split(b).length-1:0};tn_.string.removeAt=function(a,b,c){var d=a;0<=b&&b<a.length&&0<c&&(d=a.substr(0,b)+a.substr(b+c,a.length-b-c));return d};tn_.string.remove=function(a,b){return a.replace(b,"")};tn_.string.removeAll=function(a,b){b=new RegExp(tn_.string.regExpEscape(b),"g");return a.replace(b,"")};tn_.string.replaceAll=function(a,b,c){b=new RegExp(tn_.string.regExpEscape(b),"g");return a.replace(b,c.replace(/\$/g,"$$$$"))};
tn_.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};tn_.string.repeat=String.prototype.repeat?function(a,b){return a.repeat(b)}:function(a,b){return Array(b+1).join(a)};tn_.string.padNumber=function(a,b,c){a=void 0!==c?a.toFixed(c):String(a);c=a.indexOf(".");-1==c&&(c=a.length);return tn_.string.repeat("0",Math.max(0,b-c))+a};tn_.string.makeSafe=function(a){return null==a?"":String(a)};
tn_.string.buildString=function(a){return Array.prototype.join.call(arguments,"")};tn_.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^tn_.now()).toString(36)};tn_.string.compareVersions=tn_.string.internal.compareVersions;tn_.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c)>>>0;return b};tn_.string.uniqueStringCounter_=2147483648*Math.random()|0;
tn_.string.createUniqueString=function(){return"goog_"+tn_.string.uniqueStringCounter_++};tn_.string.toNumber=function(a){var b=Number(a);return 0==b&&tn_.string.isEmptyOrWhitespace(a)?NaN:b};tn_.string.isLowerCamelCase=function(a){return/^[a-z]+([A-Z][a-z]*)*$/.test(a)};tn_.string.isUpperCamelCase=function(a){return/^([A-Z][a-z]*)+$/.test(a)};tn_.string.toCamelCase=function(a){return String(a).replace(/\-([a-z])/g,function(b,c){return c.toUpperCase()})};
tn_.string.toSelectorCase=function(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()};tn_.string.toTitleCase=function(a,b){b=(b="string"===typeof b?tn_.string.regExpEscape(b):"\\s")?"|["+b+"]+":"";b=new RegExp("(^"+b+")([a-z])","g");return a.replace(b,function(c,d,e){return d+e.toUpperCase()})};tn_.string.capitalize=function(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()};
tn_.string.parseInt=function(a){isFinite(a)&&(a=String(a));return"string"===typeof a?/^\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):NaN};tn_.string.splitLimit=function(a,b,c){a=a.split(b);for(var d=[];0<c&&a.length;)d.push(a.shift()),c--;a.length&&d.push(a.join(b));return d};tn_.string.lastComponent=function(a,b){if(b)"string"==typeof b&&(b=[b]);else return a;for(var c=-1,d=0;d<b.length;d++)if(""!=b[d]){var e=a.lastIndexOf(b[d]);e>c&&(c=e)}return-1==c?a:a.slice(c+1)};
tn_.string.editDistance=function(a,b){var c=[],d=[];if(a==b)return 0;if(!a.length||!b.length)return Math.max(a.length,b.length);for(var e=0;e<b.length+1;e++)c[e]=e;for(e=0;e<a.length;e++){d[0]=e+1;for(var f=0;f<b.length;f++){var g=Number(a[e]!=b[f]);d[f+1]=Math.min(d[f]+1,c[f+1]+1,c[f]+g)}for(f=0;f<c.length;f++)c[f]=d[f]}return d[b.length]};tn_.labs.userAgent.engine={};tn_.labs.userAgent.engine.isPresto=function(){return tn_.labs.userAgent.util.matchUserAgent("Presto")};tn_.labs.userAgent.engine.isTrident=function(){return tn_.labs.userAgent.util.matchUserAgent("Trident")||tn_.labs.userAgent.util.matchUserAgent("MSIE")};tn_.labs.userAgent.engine.isEdge=function(){return tn_.labs.userAgent.util.matchUserAgent("Edge")};tn_.labs.userAgent.engine.isWebKit=function(){return tn_.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!tn_.labs.userAgent.engine.isEdge()};
tn_.labs.userAgent.engine.isGecko=function(){return tn_.labs.userAgent.util.matchUserAgent("Gecko")&&!tn_.labs.userAgent.engine.isWebKit()&&!tn_.labs.userAgent.engine.isTrident()&&!tn_.labs.userAgent.engine.isEdge()};
tn_.labs.userAgent.engine.getVersion=function(){var a=tn_.labs.userAgent.util.getUserAgent();if(a){a=tn_.labs.userAgent.util.extractVersionTuples(a);var b=tn_.labs.userAgent.engine.getEngineTuple_(a);if(b)return"Gecko"==b[0]?tn_.labs.userAgent.engine.getVersionForKey_(a,"Firefox"):b[1];a=a[0];var c;if(a&&(c=a[2])&&(c=/Trident\/([^\s;]+)/.exec(c)))return c[1]}return""};
tn_.labs.userAgent.engine.getEngineTuple_=function(a){if(!tn_.labs.userAgent.engine.isEdge())return a[1];for(var b=0;b<a.length;b++){var c=a[b];if("Edge"==c[0])return c}};tn_.labs.userAgent.engine.isVersionOrHigher=function(a){return 0<=tn_.string.compareVersions(tn_.labs.userAgent.engine.getVersion(),a)};tn_.labs.userAgent.engine.getVersionForKey_=function(a,b){return(a=tn_ra(a,function(c){return b==c[0]}))&&a[1]||""};tn_.labs.userAgent.platform={};tn_.labs.userAgent.platform.isAndroid=function(){return tn_.labs.userAgent.util.matchUserAgent("Android")};tn_.labs.userAgent.platform.isIpod=function(){return tn_.labs.userAgent.util.matchUserAgent("iPod")};tn_.labs.userAgent.platform.isIphone=function(){return tn_.labs.userAgent.util.matchUserAgent("iPhone")&&!tn_.labs.userAgent.util.matchUserAgent("iPod")&&!tn_.labs.userAgent.util.matchUserAgent("iPad")};tn_.labs.userAgent.platform.isIpad=function(){return tn_.labs.userAgent.util.matchUserAgent("iPad")};
tn_.labs.userAgent.platform.isIos=function(){return tn_.labs.userAgent.platform.isIphone()||tn_.labs.userAgent.platform.isIpad()||tn_.labs.userAgent.platform.isIpod()};tn_.labs.userAgent.platform.isMacintosh=function(){return tn_.labs.userAgent.util.matchUserAgent("Macintosh")};tn_.labs.userAgent.platform.isLinux=function(){return tn_.labs.userAgent.util.matchUserAgent("Linux")};tn_.labs.userAgent.platform.isWindows=function(){return tn_.labs.userAgent.util.matchUserAgent("Windows")};
tn_.labs.userAgent.platform.isChromeOS=function(){return tn_.labs.userAgent.util.matchUserAgent("CrOS")};tn_.labs.userAgent.platform.isChromecast=function(){return tn_.labs.userAgent.util.matchUserAgent("CrKey")};tn_.labs.userAgent.platform.isKaiOS=function(){return tn_.labs.userAgent.util.matchUserAgentIgnoreCase("KaiOS")};
tn_.labs.userAgent.platform.getVersion=function(){var a=tn_.labs.userAgent.util.getUserAgent(),b="";tn_.labs.userAgent.platform.isWindows()?(b=/Windows (?:NT|Phone) ([0-9.]+)/,b=(a=b.exec(a))?a[1]:"0.0"):tn_.labs.userAgent.platform.isIos()?(b=/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/,b=(a=b.exec(a))&&a[1].replace(/_/g,".")):tn_.labs.userAgent.platform.isMacintosh()?(b=/Mac OS X ([0-9_.]+)/,b=(a=b.exec(a))?a[1].replace(/_/g,"."):"10"):tn_.labs.userAgent.platform.isKaiOS()?(b=/(?:KaiOS)\/(\S+)/i,b=(a=
b.exec(a))&&a[1]):tn_.labs.userAgent.platform.isAndroid()?(b=/Android\s+([^\);]+)(\)|;)/,b=(a=b.exec(a))&&a[1]):tn_.labs.userAgent.platform.isChromeOS()&&(b=/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/,b=(a=b.exec(a))&&a[1]);return b||""};tn_.labs.userAgent.platform.isVersionOrHigher=function(a){return 0<=tn_.string.compareVersions(tn_.labs.userAgent.platform.getVersion(),a)};tn_.reflect={};tn_.reflect.object=function(a,b){return b};tn_.reflect.objectProperty=function(a){return a};tn_.reflect.sinkValue=function(a){tn_.reflect.sinkValue[" "](a);return a};tn_.reflect.sinkValue[" "]=tn_.nullFunction;tn_.reflect.canAccessProperty=function(a,b){try{return tn_.reflect.sinkValue(a[b]),!0}catch(c){}return!1};tn_.reflect.cache=function(a,b,c,d){d=d?d(b):b;return Object.prototype.hasOwnProperty.call(a,d)?a[d]:a[d]=c(b)};tn_.userAgent={};tn_.userAgent.ASSUME_IE=!1;tn_.userAgent.ASSUME_EDGE=!1;tn_.userAgent.ASSUME_GECKO=!1;tn_.userAgent.ASSUME_WEBKIT=!1;tn_.userAgent.ASSUME_MOBILE_WEBKIT=!1;tn_.userAgent.ASSUME_OPERA=!1;tn_.userAgent.ASSUME_ANY_VERSION=!1;tn_.userAgent.BROWSER_KNOWN_=tn_.userAgent.ASSUME_IE||tn_.userAgent.ASSUME_EDGE||tn_.userAgent.ASSUME_GECKO||tn_.userAgent.ASSUME_MOBILE_WEBKIT||tn_.userAgent.ASSUME_WEBKIT||tn_.userAgent.ASSUME_OPERA;tn_.userAgent.getUserAgentString=function(){return tn_.labs.userAgent.util.getUserAgent()};
tn_.userAgent.getNavigatorTyped=function(){return tn_.global.navigator||null};tn_.userAgent.getNavigator=function(){return tn_.userAgent.getNavigatorTyped()};tn_.userAgent.OPERA=tn_.userAgent.BROWSER_KNOWN_?tn_.userAgent.ASSUME_OPERA:tn_.labs.userAgent.browser.isOpera();tn_.userAgent.IE=tn_.userAgent.BROWSER_KNOWN_?tn_.userAgent.ASSUME_IE:tn_.labs.userAgent.browser.isIE();tn_.userAgent.EDGE=tn_.userAgent.BROWSER_KNOWN_?tn_.userAgent.ASSUME_EDGE:tn_.labs.userAgent.engine.isEdge();
tn_.userAgent.EDGE_OR_IE=tn_.userAgent.EDGE||tn_.userAgent.IE;tn_.userAgent.GECKO=tn_.userAgent.BROWSER_KNOWN_?tn_.userAgent.ASSUME_GECKO:tn_.labs.userAgent.engine.isGecko();tn_.userAgent.WEBKIT=tn_.userAgent.BROWSER_KNOWN_?tn_.userAgent.ASSUME_WEBKIT||tn_.userAgent.ASSUME_MOBILE_WEBKIT:tn_.labs.userAgent.engine.isWebKit();tn_.userAgent.isMobile_=function(){return tn_.userAgent.WEBKIT&&tn_.labs.userAgent.util.matchUserAgent("Mobile")};tn_.userAgent.MOBILE=tn_.userAgent.ASSUME_MOBILE_WEBKIT||tn_.userAgent.isMobile_();
tn_.userAgent.SAFARI=tn_.userAgent.WEBKIT;tn_.userAgent.determinePlatform_=function(){var a=tn_.userAgent.getNavigatorTyped();return a&&a.platform||""};tn_.userAgent.PLATFORM=tn_.userAgent.determinePlatform_();tn_.userAgent.ASSUME_MAC=!1;tn_.userAgent.ASSUME_WINDOWS=!1;tn_.userAgent.ASSUME_LINUX=!1;tn_.userAgent.ASSUME_X11=!1;tn_.userAgent.ASSUME_ANDROID=!1;tn_.userAgent.ASSUME_IPHONE=!1;tn_.userAgent.ASSUME_IPAD=!1;tn_.userAgent.ASSUME_IPOD=!1;tn_.userAgent.ASSUME_KAIOS=!1;
tn_.userAgent.PLATFORM_KNOWN_=tn_.userAgent.ASSUME_MAC||tn_.userAgent.ASSUME_WINDOWS||tn_.userAgent.ASSUME_LINUX||tn_.userAgent.ASSUME_X11||tn_.userAgent.ASSUME_ANDROID||tn_.userAgent.ASSUME_IPHONE||tn_.userAgent.ASSUME_IPAD||tn_.userAgent.ASSUME_IPOD;tn_.userAgent.MAC=tn_.userAgent.PLATFORM_KNOWN_?tn_.userAgent.ASSUME_MAC:tn_.labs.userAgent.platform.isMacintosh();tn_.userAgent.WINDOWS=tn_.userAgent.PLATFORM_KNOWN_?tn_.userAgent.ASSUME_WINDOWS:tn_.labs.userAgent.platform.isWindows();
tn_.userAgent.isLegacyLinux_=function(){return tn_.labs.userAgent.platform.isLinux()||tn_.labs.userAgent.platform.isChromeOS()};tn_.userAgent.LINUX=tn_.userAgent.PLATFORM_KNOWN_?tn_.userAgent.ASSUME_LINUX:tn_.userAgent.isLegacyLinux_();tn_.userAgent.isX11_=function(){var a=tn_.userAgent.getNavigatorTyped();return!!a&&tn_.string.contains(a.appVersion||"","X11")};tn_.userAgent.X11=tn_.userAgent.PLATFORM_KNOWN_?tn_.userAgent.ASSUME_X11:tn_.userAgent.isX11_();
tn_.userAgent.ANDROID=tn_.userAgent.PLATFORM_KNOWN_?tn_.userAgent.ASSUME_ANDROID:tn_.labs.userAgent.platform.isAndroid();tn_.userAgent.IPHONE=tn_.userAgent.PLATFORM_KNOWN_?tn_.userAgent.ASSUME_IPHONE:tn_.labs.userAgent.platform.isIphone();tn_.userAgent.IPAD=tn_.userAgent.PLATFORM_KNOWN_?tn_.userAgent.ASSUME_IPAD:tn_.labs.userAgent.platform.isIpad();tn_.userAgent.IPOD=tn_.userAgent.PLATFORM_KNOWN_?tn_.userAgent.ASSUME_IPOD:tn_.labs.userAgent.platform.isIpod();
tn_.userAgent.IOS=tn_.userAgent.PLATFORM_KNOWN_?tn_.userAgent.ASSUME_IPHONE||tn_.userAgent.ASSUME_IPAD||tn_.userAgent.ASSUME_IPOD:tn_.labs.userAgent.platform.isIos();tn_.userAgent.KAIOS=tn_.userAgent.PLATFORM_KNOWN_?tn_.userAgent.ASSUME_KAIOS:tn_.labs.userAgent.platform.isKaiOS();tn_.userAgent.determineVersion_=function(){var a="",b=tn_.userAgent.getVersionRegexResult_();b&&(a=b?b[1]:"");return tn_.userAgent.IE&&(b=tn_.userAgent.getDocumentMode_(),null!=b&&b>parseFloat(a))?String(b):a};
tn_.userAgent.getVersionRegexResult_=function(){var a=tn_.userAgent.getUserAgentString();if(tn_.userAgent.GECKO)return/rv:([^\);]+)(\)|;)/.exec(a);if(tn_.userAgent.EDGE)return/Edge\/([\d\.]+)/.exec(a);if(tn_.userAgent.IE)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(tn_.userAgent.WEBKIT)return/WebKit\/(\S+)/.exec(a);if(tn_.userAgent.OPERA)return/(?:Version)[ \/]?(\S+)/.exec(a)};tn_.userAgent.getDocumentMode_=function(){var a=tn_.global.document;return a?a.documentMode:void 0};
tn_.userAgent.VERSION=tn_.userAgent.determineVersion_();tn_.userAgent.compare=function(a,b){return tn_.string.compareVersions(a,b)};tn_.userAgent.isVersionOrHigherCache_={};tn_.userAgent.isVersionOrHigher=function(a){return tn_.userAgent.ASSUME_ANY_VERSION||tn_.reflect.cache(tn_.userAgent.isVersionOrHigherCache_,a,function(){return 0<=tn_.string.compareVersions(tn_.userAgent.VERSION,a)})};tn_.userAgent.isVersion=tn_.userAgent.isVersionOrHigher;
tn_.userAgent.isDocumentModeOrHigher=function(a){return Number(tn_.userAgent.DOCUMENT_MODE)>=a};tn_.userAgent.isDocumentMode=tn_.userAgent.isDocumentModeOrHigher;var tn_Ud;var tn_Vd=tn_.global.document;if(tn_Vd&&tn_.userAgent.IE){var tn_Wd=tn_.userAgent.getDocumentMode_();if(tn_Wd)tn_Ud=tn_Wd;else{var tn_Xd=parseInt(tn_.userAgent.VERSION,10);tn_Ud=tn_Xd||void 0}}else tn_Ud=void 0;tn_.userAgent.DOCUMENT_MODE=tn_Ud;tn_.dom.BrowserFeature={};tn_.dom.BrowserFeature.ASSUME_NO_OFFSCREEN_CANVAS=!1;tn_.dom.BrowserFeature.ASSUME_OFFSCREEN_CANVAS=!1;tn_.dom.BrowserFeature.detectOffscreenCanvas_=function(a){try{return!!(new self.OffscreenCanvas(0,0)).getContext(a)}catch(b){}return!1};tn_.dom.BrowserFeature.OFFSCREEN_CANVAS_2D=!tn_.dom.BrowserFeature.ASSUME_NO_OFFSCREEN_CANVAS&&(tn_.dom.BrowserFeature.ASSUME_OFFSCREEN_CANVAS||tn_.dom.BrowserFeature.detectOffscreenCanvas_("2d"));
tn_.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES=!tn_.userAgent.IE||tn_.userAgent.isDocumentModeOrHigher(9);tn_.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE=!tn_.userAgent.GECKO&&!tn_.userAgent.IE||tn_.userAgent.IE&&tn_.userAgent.isDocumentModeOrHigher(9)||tn_.userAgent.GECKO&&tn_.userAgent.isVersionOrHigher("1.9.1");tn_.dom.BrowserFeature.CAN_USE_INNER_TEXT=tn_.userAgent.IE&&!tn_.userAgent.isVersionOrHigher("9");
tn_.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY=tn_.userAgent.IE||tn_.userAgent.OPERA||tn_.userAgent.WEBKIT;tn_.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT=tn_.userAgent.IE;tn_.dom.BrowserFeature.LEGACY_IE_RANGES=tn_.userAgent.IE&&!tn_.userAgent.isDocumentModeOrHigher(9);tn_.math={};tn_.math.randomInt=function(a){return Math.floor(Math.random()*a)};tn_.math.uniformRandom=function(a,b){return a+Math.random()*(b-a)};tn_.math.clamp=function(a,b,c){return Math.min(Math.max(a,b),c)};tn_.math.modulo=function(a,b){a%=b;return 0>a*b?a+b:a};tn_.math.lerp=function(a,b,c){return a+c*(b-a)};tn_.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1E-6)};tn_.math.standardAngle=function(a){return tn_.math.modulo(a,360)};
tn_.math.standardAngleInRadians=function(a){return tn_.math.modulo(a,2*Math.PI)};tn_.math.toRadians=function(a){return a*Math.PI/180};tn_.math.toDegrees=function(a){return 180*a/Math.PI};tn_.math.angleDx=function(a,b){return b*Math.cos(tn_.math.toRadians(a))};tn_.math.angleDy=function(a,b){return b*Math.sin(tn_.math.toRadians(a))};tn_.math.angle=function(a,b,c,d){return tn_.math.standardAngle(tn_.math.toDegrees(Math.atan2(d-b,c-a)))};
tn_.math.angleDifference=function(a,b){a=tn_.math.standardAngle(b)-tn_.math.standardAngle(a);180<a?a-=360:-180>=a&&(a=360+a);return a};tn_.math.sign=function(a){return 0<a?1:0>a?-1:a};
tn_.math.longestCommonSubsequence=function(a,b,c,d){c=c||function(h,m){return h==m};d=d||function(h){return a[h]};for(var e=a.length,f=b.length,g=[],l=0;l<e+1;l++)g[l]=[],g[l][0]=0;for(var n=0;n<f+1;n++)g[0][n]=0;for(l=1;l<=e;l++)for(n=1;n<=f;n++)c(a[l-1],b[n-1])?g[l][n]=g[l-1][n-1]+1:g[l][n]=Math.max(g[l-1][n],g[l][n-1]);var k=[];l=e;for(n=f;0<l&&0<n;)c(a[l-1],b[n-1])?(k.unshift(d(l-1,n-1)),l--,n--):g[l-1][n]>g[l][n-1]?l--:n--;return k};
tn_.math.sum=function(a){return tn_ma(arguments,function(b,c){return b+c},0)};tn_.math.average=function(a){return tn_.math.sum.apply(null,arguments)/arguments.length};tn_.math.sampleVariance=function(a){var b=arguments.length;if(2>b)return 0;var c=tn_.math.average.apply(null,arguments);return b=tn_.math.sum.apply(null,tn_f(arguments,function(d){return Math.pow(d-c,2)}))/(b-1)};tn_.math.standardDeviation=function(a){return Math.sqrt(tn_.math.sampleVariance.apply(null,arguments))};
tn_.math.isInt=function(a){return isFinite(a)&&0==a%1};tn_.math.isFiniteNumber=function(a){return isFinite(a)};tn_.math.isNegativeZero=function(a){return 0==a&&0>1/a};tn_.math.log10Floor=function(a){if(0<a){var b=Math.round(Math.log(a)*Math.LOG10E);return b-(parseFloat("1e"+b)>a?1:0)}return 0==a?-Infinity:NaN};tn_.math.safeFloor=function(a,b){tn_.asserts.assert(void 0===b||0<b);return Math.floor(a+(b||2E-15))};
tn_.math.safeCeil=function(a,b){tn_.asserts.assert(void 0===b||0<b);return Math.ceil(a-(b||2E-15))};tn_.math.Coordinate=function(a,b){this.x=void 0!==a?a:0;this.y=void 0!==b?b:0};tn_.math.Coordinate.prototype.clone=function(){return new tn_.math.Coordinate(this.x,this.y)};tn_.DEBUG&&(tn_.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y+")"});tn_.math.Coordinate.prototype.equals=function(a){return a instanceof tn_.math.Coordinate&&tn_.math.Coordinate.equals(this,a)};tn_.math.Coordinate.equals=function(a,b){return a==b?!0:a&&b?a.x==b.x&&a.y==b.y:!1};
tn_.math.Coordinate.distance=function(a,b){var c=a.x-b.x;a=a.y-b.y;return Math.sqrt(c*c+a*a)};tn_.math.Coordinate.magnitude=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};tn_.math.Coordinate.azimuth=function(a){return tn_.math.angle(0,0,a.x,a.y)};tn_.math.Coordinate.squaredDistance=function(a,b){var c=a.x-b.x;a=a.y-b.y;return c*c+a*a};tn_.math.Coordinate.difference=function(a,b){return new tn_.math.Coordinate(a.x-b.x,a.y-b.y)};
tn_.math.Coordinate.sum=function(a,b){return new tn_.math.Coordinate(a.x+b.x,a.y+b.y)};tn_a=tn_.math.Coordinate.prototype;tn_a.ceil=function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this};tn_a.floor=function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this};tn_a.round=function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this};
tn_a.translate=function(a,b){a instanceof tn_.math.Coordinate?(this.x+=a.x,this.y+=a.y):(this.x+=Number(a),"number"===typeof b&&(this.y+=b));return this};tn_a.scale=function(a,b){b="number"===typeof b?b:a;this.x*=a;this.y*=b;return this};tn_.math.Size=function(a,b){this.width=a;this.height=b};tn_.math.Size.equals=function(a,b){return a==b?!0:a&&b?a.width==b.width&&a.height==b.height:!1};tn_.math.Size.prototype.clone=function(){return new tn_.math.Size(this.width,this.height)};tn_.DEBUG&&(tn_.math.Size.prototype.toString=function(){return"("+this.width+" x "+this.height+")"});tn_a=tn_.math.Size.prototype;tn_a.area=function(){return this.width*this.height};tn_a.aspectRatio=function(){return this.width/this.height};tn_a.isEmpty=function(){return!this.area()};
tn_a.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};tn_a.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};tn_a.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};tn_a.scale=function(a,b){b="number"===typeof b?b:a;this.width*=a;this.height*=b;return this};tn_.dom.ASSUME_QUIRKS_MODE=!1;tn_.dom.ASSUME_STANDARDS_MODE=!1;tn_.dom.COMPAT_MODE_KNOWN_=tn_.dom.ASSUME_QUIRKS_MODE||tn_.dom.ASSUME_STANDARDS_MODE;tn_.dom.getDomHelper=function(a){return a?new tn_.dom.DomHelper(tn_.dom.getOwnerDocument(a)):tn_.dom.defaultDomHelper_||(tn_.dom.defaultDomHelper_=new tn_.dom.DomHelper)};tn_.dom.getDocument=function(){return document};tn_.dom.getElement=function(a){return tn_.dom.getElementHelper_(document,a)};
tn_.dom.getElementHelper_=function(a,b){return"string"===typeof b?a.getElementById(b):b};tn_.dom.getRequiredElement=function(a){return tn_.dom.getRequiredElementHelper_(document,a)};tn_.dom.getRequiredElementHelper_=function(a,b){tn_.asserts.assertString(b);a=tn_.dom.getElementHelper_(a,b);return a=tn_.asserts.assertElement(a,"No element found with id: "+b)};tn_.dom.$=tn_.dom.getElement;tn_.dom.getElementsByTagName=function(a,b){b=b||document;return b.getElementsByTagName(String(a))};
tn_.dom.getElementsByTagNameAndClass=function(a,b,c){return tn_.dom.getElementsByTagNameAndClass_(document,a,b,c)};tn_.dom.getElementByTagNameAndClass=function(a,b,c){return tn_.dom.getElementByTagNameAndClass_(document,a,b,c)};tn_.dom.getElementsByClass=function(a,b){var c=b||document;return tn_.dom.canUseQuerySelector_(c)?c.querySelectorAll("."+a):tn_.dom.getElementsByTagNameAndClass_(document,"*",a,b)};
tn_.dom.getElementByClass=function(a,b){var c=b||document;return(a=c.getElementsByClassName?c.getElementsByClassName(a)[0]:tn_.dom.getElementByTagNameAndClass_(document,"*",a,b))||null};tn_.dom.getRequiredElementByClass=function(a,b){b=tn_.dom.getElementByClass(a,b);return tn_.asserts.assert(b,"No element found with className: "+a)};tn_.dom.canUseQuerySelector_=function(a){return!(!a.querySelectorAll||!a.querySelector)};
tn_.dom.getElementsByTagNameAndClass_=function(a,b,c,d){a=d||a;b=b&&"*"!=b?String(b).toUpperCase():"";if(tn_.dom.canUseQuerySelector_(a)&&(b||c))return c=b+(c?"."+c:""),a.querySelectorAll(c);if(c&&a.getElementsByClassName){a=a.getElementsByClassName(c);if(b){d={};for(var e=0,f=0,g;g=a[f];f++)b==g.nodeName&&(d[e++]=g);d.length=e;return d}return a}a=a.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;g=a[f];f++)b=g.className,"function"==typeof b.split&&tn_g(b.split(/\s+/),c)&&(d[e++]=g);d.length=e;
return d}return a};tn_.dom.getElementByTagNameAndClass_=function(a,b,c,d){var e=d||a,f=b&&"*"!=b?String(b).toUpperCase():"";if(tn_.dom.canUseQuerySelector_(e)&&(f||c))return e.querySelector(f+(c?"."+c:""));a=tn_.dom.getElementsByTagNameAndClass_(a,b,c,d);return a[0]||null};tn_.dom.$$=tn_.dom.getElementsByTagNameAndClass;
tn_.dom.setProperties=function(a,b){tn_.object.forEach(b,function(c,d){c&&"object"==typeof c&&c.implementsGoogStringTypedString&&(c=c.getTypedStringValue());"style"==d?a.style.cssText=c:"class"==d?a.className=c:"for"==d?a.htmlFor=c:tn_.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(d)?a.setAttribute(tn_.dom.DIRECT_ATTRIBUTE_MAP_[d],c):tn_.string.startsWith(d,"aria-")||tn_.string.startsWith(d,"data-")?a.setAttribute(d,c):a[d]=c})};
tn_.dom.DIRECT_ATTRIBUTE_MAP_={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};tn_.dom.getViewportSize=function(a){return tn_.dom.getViewportSize_(a||window)};tn_.dom.getViewportSize_=function(a){a=a.document;a=tn_.dom.isCss1CompatMode_(a)?a.documentElement:a.body;return new tn_.math.Size(a.clientWidth,a.clientHeight)};
tn_.dom.getDocumentHeight=function(){return tn_.dom.getDocumentHeight_(window)};tn_.dom.getDocumentHeightForWindow=function(a){return tn_.dom.getDocumentHeight_(a)};
tn_.dom.getDocumentHeight_=function(a){var b=a.document,c=0;if(b){c=b.body;var d=b.documentElement;if(!d||!c)return 0;a=tn_.dom.getViewportSize_(a).height;if(tn_.dom.isCss1CompatMode_(b)&&d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;else{b=d.scrollHeight;var e=d.offsetHeight;d.clientHeight!=e&&(b=c.scrollHeight,e=c.offsetHeight);c=b>a?b>e?b:e:b<e?b:e}}return c};tn_.dom.getPageScroll=function(a){a=a||tn_.global||window;return tn_.dom.getDomHelper(a.document).getDocumentScroll()};
tn_.dom.getDocumentScroll=function(){return tn_.dom.getDocumentScroll_(document)};tn_.dom.getDocumentScroll_=function(a){var b=tn_.dom.getDocumentScrollElement_(a);a=tn_.dom.getWindow_(a);return tn_.userAgent.IE&&tn_.userAgent.isVersionOrHigher("10")&&a.pageYOffset!=b.scrollTop?new tn_.math.Coordinate(b.scrollLeft,b.scrollTop):new tn_.math.Coordinate(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)};tn_.dom.getDocumentScrollElement=function(){return tn_.dom.getDocumentScrollElement_(document)};
tn_.dom.getDocumentScrollElement_=function(a){return a.scrollingElement?a.scrollingElement:!tn_.userAgent.WEBKIT&&tn_.dom.isCss1CompatMode_(a)?a.documentElement:a.body||a.documentElement};tn_.dom.getWindow=function(a){return a?tn_.dom.getWindow_(a):window};tn_.dom.getWindow_=function(a){return a.parentWindow||a.defaultView};tn_.dom.createDom=function(a,b,c){return tn_.dom.createDom_(document,arguments)};
tn_.dom.createDom_=function(a,b){var c=String(b[0]),d=b[1];if(!tn_.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',tn_.string.htmlEscape(d.name),'"');if(d.type){c.push(' type="',tn_.string.htmlEscape(d.type),'"');var e={};tn_.object.extend(e,d);delete e.type;d=e}c.push(">");c=c.join("")}c=tn_.dom.createElement_(a,c);d&&("string"===typeof d?c.className=d:Array.isArray(d)?c.className=d.join(" "):tn_.dom.setProperties(c,d));2<b.length&&tn_.dom.append_(a,
c,b,2);return c};tn_.dom.append_=function(a,b,c,d){function e(g){g&&b.appendChild("string"===typeof g?a.createTextNode(g):g)}for(;d<c.length;d++){var f=c[d];tn_.isArrayLike(f)&&!tn_.dom.isNodeLike(f)?tn_e(tn_.dom.isNodeList(f)?tn_h(f):f,e):e(f)}};tn_.dom.$dom=tn_.dom.createDom;tn_.dom.createElement=function(a){return tn_.dom.createElement_(document,a)};tn_.dom.createElement_=function(a,b){b=String(b);"application/xhtml+xml"===a.contentType&&(b=b.toLowerCase());return a.createElement(b)};
tn_.dom.createTextNode=function(a){return document.createTextNode(String(a))};tn_.dom.createTable=function(a,b,c){return tn_.dom.createTable_(document,a,b,!!c)};
tn_.dom.createTable_=function(a,b,c,d){for(var e=tn_.dom.createElement_(a,tn_.dom.TagName.TABLE),f=e.appendChild(tn_.dom.createElement_(a,tn_.dom.TagName.TBODY)),g=0;g<b;g++){for(var l=tn_.dom.createElement_(a,tn_.dom.TagName.TR),n=0;n<c;n++){var k=tn_.dom.createElement_(a,tn_.dom.TagName.TD);d&&tn_.dom.setTextContent(k,tn_.string.Unicode.NBSP);l.appendChild(k)}f.appendChild(l)}return e};
tn_.dom.constHtmlToNode=function(a){var b=tn_f(arguments,tn_.string.Const.unwrap);b=tn_.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(tn_.string.Const.from("Constant HTML string, that gets turned into a Node later, so it will be automatically balanced."),b.join(""));return tn_.dom.safeHtmlToNode(b)};tn_.dom.safeHtmlToNode=function(a){return tn_.dom.safeHtmlToNode_(document,a)};
tn_.dom.safeHtmlToNode_=function(a,b){var c=tn_.dom.createElement_(a,tn_.dom.TagName.DIV);tn_.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT?(tn_.dom.safe.setInnerHtml(c,tn_.html.SafeHtml.concat(tn_.html.SafeHtml.BR,b)),c.removeChild(tn_.asserts.assert(c.firstChild))):tn_.dom.safe.setInnerHtml(c,b);return tn_.dom.childrenToNode_(a,c)};
tn_.dom.childrenToNode_=function(a,b){if(1==b.childNodes.length)return b.removeChild(tn_.asserts.assert(b.firstChild));for(a=a.createDocumentFragment();b.firstChild;)a.appendChild(b.firstChild);return a};tn_.dom.isCss1CompatMode=function(){return tn_.dom.isCss1CompatMode_(document)};tn_.dom.isCss1CompatMode_=function(a){return tn_.dom.COMPAT_MODE_KNOWN_?tn_.dom.ASSUME_STANDARDS_MODE:"CSS1Compat"==a.compatMode};tn_.dom.canHaveChildren=function(a){if(a.nodeType!=tn_.dom.NodeType.ELEMENT)return!1;switch(a.tagName){case String(tn_.dom.TagName.APPLET):case String(tn_.dom.TagName.AREA):case String(tn_.dom.TagName.BASE):case String(tn_.dom.TagName.BR):case String(tn_.dom.TagName.COL):case String(tn_.dom.TagName.COMMAND):case String(tn_.dom.TagName.EMBED):case String(tn_.dom.TagName.FRAME):case String(tn_.dom.TagName.HR):case String(tn_.dom.TagName.IMG):case String(tn_.dom.TagName.INPUT):case String(tn_.dom.TagName.IFRAME):case String(tn_.dom.TagName.ISINDEX):case String(tn_.dom.TagName.KEYGEN):case String(tn_.dom.TagName.LINK):case String(tn_.dom.TagName.NOFRAMES):case String(tn_.dom.TagName.NOSCRIPT):case String(tn_.dom.TagName.META):case String(tn_.dom.TagName.OBJECT):case String(tn_.dom.TagName.PARAM):case String(tn_.dom.TagName.SCRIPT):case String(tn_.dom.TagName.SOURCE):case String(tn_.dom.TagName.STYLE):case String(tn_.dom.TagName.TRACK):case String(tn_.dom.TagName.WBR):return!1}return!0};
tn_.dom.appendChild=function(a,b){tn_.asserts.assert(null!=a&&null!=b,"goog.dom.appendChild expects non-null arguments");a.appendChild(b)};tn_.dom.append=function(a,b){tn_.dom.append_(tn_.dom.getOwnerDocument(a),a,arguments,1)};tn_.dom.removeChildren=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};tn_.dom.insertSiblingBefore=function(a,b){tn_.asserts.assert(null!=a&&null!=b,"goog.dom.insertSiblingBefore expects non-null arguments");b.parentNode&&b.parentNode.insertBefore(a,b)};
tn_.dom.insertSiblingAfter=function(a,b){tn_.asserts.assert(null!=a&&null!=b,"goog.dom.insertSiblingAfter expects non-null arguments");b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)};tn_.dom.insertChildAt=function(a,b,c){tn_.asserts.assert(null!=a,"goog.dom.insertChildAt expects a non-null parent");a.insertBefore(b,a.childNodes[c]||null)};tn_.dom.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):null};
tn_.dom.replaceNode=function(a,b){tn_.asserts.assert(null!=a&&null!=b,"goog.dom.replaceNode expects non-null arguments");var c=b.parentNode;c&&c.replaceChild(a,b)};tn_.dom.copyContents=function(a,b){tn_.asserts.assert(null!=a&&null!=b,"goog.dom.copyContents expects non-null arguments");b=b.cloneNode(!0).childNodes;for(tn_.dom.removeChildren(a);b.length;)a.appendChild(b[0])};
tn_.dom.flattenElement=function(a){var b,c=a.parentNode;if(c&&c.nodeType!=tn_.dom.NodeType.DOCUMENT_FRAGMENT){if(a.removeNode)return a.removeNode(!1);for(;b=a.firstChild;)c.insertBefore(b,a);return tn_.dom.removeNode(a)}};tn_.dom.getChildren=function(a){return tn_.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE&&void 0!=a.children?a.children:tn_la(a.childNodes,function(b){return b.nodeType==tn_.dom.NodeType.ELEMENT})};
tn_.dom.getFirstElementChild=function(a){return void 0!==a.firstElementChild?a.firstElementChild:tn_.dom.getNextElementNode_(a.firstChild,!0)};tn_.dom.getLastElementChild=function(a){return void 0!==a.lastElementChild?a.lastElementChild:tn_.dom.getNextElementNode_(a.lastChild,!1)};tn_.dom.getNextElementSibling=function(a){return void 0!==a.nextElementSibling?a.nextElementSibling:tn_.dom.getNextElementNode_(a.nextSibling,!0)};
tn_.dom.getPreviousElementSibling=function(a){return void 0!==a.previousElementSibling?a.previousElementSibling:tn_.dom.getNextElementNode_(a.previousSibling,!1)};tn_.dom.getNextElementNode_=function(a,b){for(;a&&a.nodeType!=tn_.dom.NodeType.ELEMENT;)a=b?a.nextSibling:a.previousSibling;return a};tn_.dom.getNextNode=function(a){if(!a)return null;if(a.firstChild)return a.firstChild;for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:null};
tn_.dom.getPreviousNode=function(a){if(!a)return null;if(!a.previousSibling)return a.parentNode;for(a=a.previousSibling;a&&a.lastChild;)a=a.lastChild;return a};tn_.dom.isNodeLike=function(a){return tn_.isObject(a)&&0<a.nodeType};tn_.dom.isElement=function(a){return tn_.isObject(a)&&a.nodeType==tn_.dom.NodeType.ELEMENT};tn_.dom.isWindow=function(a){return tn_.isObject(a)&&a.window==a};
tn_.dom.getParentElement=function(a){if(tn_.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY){var b=tn_.userAgent.IE&&tn_.userAgent.isVersionOrHigher("9")&&!tn_.userAgent.isVersionOrHigher("10");if(!(b&&tn_.global.SVGElement&&a instanceof tn_.global.SVGElement)&&(b=a.parentElement))return b}b=a.parentNode;return tn_.dom.isElement(b)?b:null};
tn_.dom.contains=function(a,b){if(!a||!b)return!1;if(a.contains&&b.nodeType==tn_.dom.NodeType.ELEMENT)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};
tn_.dom.compareNodeOrder=function(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)&2?1:-1;if(tn_.userAgent.IE&&!tn_.userAgent.isDocumentModeOrHigher(9)){if(a.nodeType==tn_.dom.NodeType.DOCUMENT)return-1;if(b.nodeType==tn_.dom.NodeType.DOCUMENT)return 1}if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=a.nodeType==tn_.dom.NodeType.ELEMENT,d=b.nodeType==tn_.dom.NodeType.ELEMENT;if(c&&d)return a.sourceIndex-b.sourceIndex;var e=a.parentNode,
f=b.parentNode;return e==f?tn_.dom.compareSiblingOrder_(a,b):!c&&tn_.dom.contains(e,b)?-1*tn_.dom.compareParentsDescendantNodeIe_(a,b):!d&&tn_.dom.contains(f,a)?tn_.dom.compareParentsDescendantNodeIe_(b,a):(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}d=tn_.dom.getOwnerDocument(a);c=d.createRange();c.selectNode(a);c.collapse(!0);a=d.createRange();a.selectNode(b);a.collapse(!0);return c.compareBoundaryPoints(tn_.global.Range.START_TO_END,a)};
tn_.dom.compareParentsDescendantNodeIe_=function(a,b){var c=a.parentNode;if(c==b)return-1;for(;b.parentNode!=c;)b=b.parentNode;return tn_.dom.compareSiblingOrder_(b,a)};tn_.dom.compareSiblingOrder_=function(a,b){for(;b=b.previousSibling;)if(b==a)return-1;return 1};
tn_.dom.findCommonAncestor=function(a){var b,c=arguments.length;if(!c)return null;if(1==c)return arguments[0];var d=[],e=Infinity;for(b=0;b<c;b++){for(var f=[],g=arguments[b];g;)f.unshift(g),g=g.parentNode;d.push(f);e=Math.min(e,f.length)}f=null;for(b=0;b<e;b++){g=d[0][b];for(var l=1;l<c;l++)if(g!=d[l][b])return f;f=g}return f};tn_.dom.isInDocument=function(a){return 16==(a.ownerDocument.compareDocumentPosition(a)&16)};
tn_.dom.getOwnerDocument=function(a){tn_.asserts.assert(a,"Node cannot be null or undefined.");return a.nodeType==tn_.dom.NodeType.DOCUMENT?a:a.ownerDocument||a.document};tn_.dom.getFrameContentDocument=function(a){return a.contentDocument||a.contentWindow.document};tn_.dom.getFrameContentWindow=function(a){try{return a.contentWindow||(a.contentDocument?tn_.dom.getWindow(a.contentDocument):null)}catch(b){}return null};
tn_.dom.setTextContent=function(a,b){tn_.asserts.assert(null!=a,"goog.dom.setTextContent expects a non-null value for node");if("textContent"in a)a.textContent=b;else if(a.nodeType==tn_.dom.NodeType.TEXT)a.data=String(b);else if(a.firstChild&&a.firstChild.nodeType==tn_.dom.NodeType.TEXT){for(;a.lastChild!=a.firstChild;)a.removeChild(tn_.asserts.assert(a.lastChild));a.firstChild.data=String(b)}else{tn_.dom.removeChildren(a);var c=tn_.dom.getOwnerDocument(a);a.appendChild(c.createTextNode(String(b)))}};
tn_.dom.getOuterHtml=function(a){tn_.asserts.assert(null!==a,"goog.dom.getOuterHtml expects a non-null value for element");if("outerHTML"in a)return a.outerHTML;var b=tn_.dom.getOwnerDocument(a);b=tn_.dom.createElement_(b,tn_.dom.TagName.DIV);b.appendChild(a.cloneNode(!0));return b.innerHTML};tn_.dom.findNode=function(a,b){var c=[];return(a=tn_.dom.findNodes_(a,b,c,!0))?c[0]:void 0};tn_.dom.findNodes=function(a,b){var c=[];tn_.dom.findNodes_(a,b,c,!1);return c};
tn_.dom.findNodes_=function(a,b,c,d){if(null!=a)for(a=a.firstChild;a;){if(b(a)&&(c.push(a),d)||tn_.dom.findNodes_(a,b,c,d))return!0;a=a.nextSibling}return!1};tn_.dom.findElement=function(a,b){for(a=tn_.dom.getChildrenReverse_(a);0<a.length;){var c=a.pop();if(b(c))return c;for(c=c.lastElementChild;c;c=c.previousElementSibling)a.push(c)}return null};
tn_.dom.findElements=function(a,b){var c=[];for(a=tn_.dom.getChildrenReverse_(a);0<a.length;){var d=a.pop();b(d)&&c.push(d);for(d=d.lastElementChild;d;d=d.previousElementSibling)a.push(d)}return c};tn_.dom.getChildrenReverse_=function(a){if(a.nodeType==tn_.dom.NodeType.DOCUMENT)return[a.documentElement];var b=[];for(a=a.lastElementChild;a;a=a.previousElementSibling)b.push(a);return b};tn_.dom.TAGS_TO_IGNORE_={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1};tn_.dom.PREDEFINED_TAG_VALUES_={IMG:" ",BR:"\n"};
tn_.dom.isFocusableTabIndex=function(a){return tn_.dom.hasSpecifiedTabIndex_(a)&&tn_.dom.isTabIndexFocusable_(a)};tn_.dom.setFocusableTabIndex=function(a,b){b?a.tabIndex=0:(a.tabIndex=-1,a.removeAttribute("tabIndex"))};tn_.dom.isFocusable=function(a){var b;return(b=tn_.dom.nativelySupportsFocus_(a)?!a.disabled&&(!tn_.dom.hasSpecifiedTabIndex_(a)||tn_.dom.isTabIndexFocusable_(a)):tn_.dom.isFocusableTabIndex(a))&&tn_.userAgent.IE?tn_.dom.hasNonZeroBoundingRect_(a):b};
tn_.dom.hasSpecifiedTabIndex_=function(a){return tn_.userAgent.IE&&!tn_.userAgent.isVersionOrHigher("9")?(a=a.getAttributeNode("tabindex"),null!=a&&a.specified):a.hasAttribute("tabindex")};tn_.dom.isTabIndexFocusable_=function(a){a=a.tabIndex;return"number"===typeof a&&0<=a&&32768>a};
tn_.dom.nativelySupportsFocus_=function(a){return a.tagName==tn_.dom.TagName.A&&a.hasAttribute("href")||a.tagName==tn_.dom.TagName.INPUT||a.tagName==tn_.dom.TagName.TEXTAREA||a.tagName==tn_.dom.TagName.SELECT||a.tagName==tn_.dom.TagName.BUTTON};tn_.dom.hasNonZeroBoundingRect_=function(a){a="function"!==typeof a.getBoundingClientRect||tn_.userAgent.IE&&null==a.parentElement?{height:a.offsetHeight,width:a.offsetWidth}:a.getBoundingClientRect();return null!=a&&0<a.height&&0<a.width};
tn_.dom.getTextContent=function(a){if(tn_.dom.BrowserFeature.CAN_USE_INNER_TEXT&&null!==a&&"innerText"in a)a=tn_.string.canonicalizeNewlines(a.innerText);else{var b=[];tn_.dom.getTextContent_(a,b,!0);a=b.join("")}a=a.replace(/ \xAD /g," ").replace(/\xAD/g,"");a=a.replace(/\u200B/g,"");tn_.dom.BrowserFeature.CAN_USE_INNER_TEXT||(a=a.replace(/ +/g," "));" "!=a&&(a=a.replace(/^\s*/,""));return a};tn_.dom.getRawTextContent=function(a){var b=[];tn_.dom.getTextContent_(a,b,!1);return b.join("")};
tn_.dom.getTextContent_=function(a,b,c){if(!(a.nodeName in tn_.dom.TAGS_TO_IGNORE_))if(a.nodeType==tn_.dom.NodeType.TEXT)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in tn_.dom.PREDEFINED_TAG_VALUES_)b.push(tn_.dom.PREDEFINED_TAG_VALUES_[a.nodeName]);else for(a=a.firstChild;a;)tn_.dom.getTextContent_(a,b,c),a=a.nextSibling};tn_.dom.getNodeTextLength=function(a){return tn_.dom.getTextContent(a).length};
tn_.dom.getNodeTextOffset=function(a,b){b=b||tn_.dom.getOwnerDocument(a).body;for(var c=[];a&&a!=b;){for(var d=a;d=d.previousSibling;)c.unshift(tn_.dom.getTextContent(d));a=a.parentNode}return tn_.string.trimLeft(c.join("")).replace(/ +/g," ").length};
tn_.dom.getNodeAtOffset=function(a,b,c){a=[a];for(var d=0,e=null;0<a.length&&d<b;)if(e=a.pop(),!(e.nodeName in tn_.dom.TAGS_TO_IGNORE_))if(e.nodeType==tn_.dom.NodeType.TEXT){var f=e.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," ");d+=f.length}else if(e.nodeName in tn_.dom.PREDEFINED_TAG_VALUES_)d+=tn_.dom.PREDEFINED_TAG_VALUES_[e.nodeName].length;else for(f=e.childNodes.length-1;0<=f;f--)a.push(e.childNodes[f]);tn_.isObject(c)&&(c.remainder=e?e.nodeValue.length+b-d-1:0,c.node=e);return e};
tn_.dom.isNodeList=function(a){if(a&&"number"==typeof a.length){if(tn_.isObject(a))return"function"==typeof a.item||"string"==typeof a.item;if("function"===typeof a)return"function"==typeof a.item}return!1};tn_.dom.getAncestorByTagNameAndClass=function(a,b,c,d){if(!b&&!c)return null;var e=b?String(b).toUpperCase():null;return tn_.dom.getAncestor(a,function(f){return(!e||f.nodeName==e)&&(!c||"string"===typeof f.className&&tn_g(f.className.split(/\s+/),c))},!0,d)};
tn_.dom.getAncestorByClass=function(a,b,c){return tn_.dom.getAncestorByTagNameAndClass(a,null,b,c)};tn_.dom.getAncestor=function(a,b,c,d){a&&!c&&(a=a.parentNode);for(c=0;a&&(null==d||c<=d);){tn_.asserts.assert("parentNode"!=a.name);if(b(a))return a;a=a.parentNode;c++}return null};tn_.dom.getActiveElement=function(a){try{var b=a&&a.activeElement;return b&&b.nodeName?b:null}catch(c){return null}};
tn_.dom.getPixelRatio=function(){var a=tn_.dom.getWindow();return void 0!==a.devicePixelRatio?a.devicePixelRatio:a.matchMedia?tn_.dom.matchesPixelRatio_(3)||tn_.dom.matchesPixelRatio_(2)||tn_.dom.matchesPixelRatio_(1.5)||tn_.dom.matchesPixelRatio_(1)||.75:1};tn_.dom.matchesPixelRatio_=function(a){var b=tn_.dom.getWindow(),c="(min-resolution: "+a+"dppx),(min--moz-device-pixel-ratio: "+a+"),(min-resolution: "+96*a+"dpi)";return b.matchMedia(c).matches?a:0};tn_.dom.getCanvasContext2D=function(a){return a.getContext("2d")};
tn_.dom.DomHelper=function(a){this.document_=a||tn_.global.document||document};tn_a=tn_.dom.DomHelper.prototype;tn_a.getDomHelper=tn_.dom.getDomHelper;tn_a.getDocument=function(){return this.document_};tn_a.getElement=function(a){return tn_.dom.getElementHelper_(this.document_,a)};tn_a.getRequiredElement=function(a){return tn_.dom.getRequiredElementHelper_(this.document_,a)};tn_a.$=tn_.dom.DomHelper.prototype.getElement;tn_a.getElementsByTagName=function(a,b){b=b||this.document_;return b.getElementsByTagName(String(a))};
tn_a.getElementsByTagNameAndClass=function(a,b,c){return tn_.dom.getElementsByTagNameAndClass_(this.document_,a,b,c)};tn_a.getElementByTagNameAndClass=function(a,b,c){return tn_.dom.getElementByTagNameAndClass_(this.document_,a,b,c)};tn_a.getElementsByClass=function(a,b){b=b||this.document_;return tn_.dom.getElementsByClass(a,b)};tn_a.getElementByClass=function(a,b){b=b||this.document_;return tn_.dom.getElementByClass(a,b)};
tn_a.getRequiredElementByClass=function(a,b){b=b||this.document_;return tn_.dom.getRequiredElementByClass(a,b)};tn_a.$$=tn_.dom.DomHelper.prototype.getElementsByTagNameAndClass;tn_a.setProperties=tn_.dom.setProperties;tn_a.getViewportSize=function(a){return tn_.dom.getViewportSize(a||this.getWindow())};tn_a.getDocumentHeight=function(){return tn_.dom.getDocumentHeight_(this.getWindow())};tn_a.createDom=function(a,b,c){return tn_.dom.createDom_(this.document_,arguments)};tn_a.$dom=tn_.dom.DomHelper.prototype.createDom;
tn_a.createElement=function(a){return tn_.dom.createElement_(this.document_,a)};tn_a.createTextNode=function(a){return this.document_.createTextNode(String(a))};tn_a.createTable=function(a,b,c){return tn_.dom.createTable_(this.document_,a,b,!!c)};tn_a.safeHtmlToNode=function(a){return tn_.dom.safeHtmlToNode_(this.document_,a)};tn_a.isCss1CompatMode=function(){return tn_.dom.isCss1CompatMode_(this.document_)};tn_a.getWindow=function(){return tn_.dom.getWindow_(this.document_)};
tn_a.getDocumentScrollElement=function(){return tn_.dom.getDocumentScrollElement_(this.document_)};tn_a.getDocumentScroll=function(){return tn_.dom.getDocumentScroll_(this.document_)};tn_a.getActiveElement=function(a){return tn_.dom.getActiveElement(a||this.document_)};tn_a.appendChild=tn_.dom.appendChild;tn_a.append=tn_.dom.append;tn_a.canHaveChildren=tn_.dom.canHaveChildren;tn_a.removeChildren=tn_.dom.removeChildren;tn_a.insertSiblingBefore=tn_.dom.insertSiblingBefore;tn_a.insertSiblingAfter=tn_.dom.insertSiblingAfter;
tn_a.insertChildAt=tn_.dom.insertChildAt;tn_a.removeNode=tn_.dom.removeNode;tn_a.replaceNode=tn_.dom.replaceNode;tn_a.copyContents=tn_.dom.copyContents;tn_a.flattenElement=tn_.dom.flattenElement;tn_a.getChildren=tn_.dom.getChildren;tn_a.getFirstElementChild=tn_.dom.getFirstElementChild;tn_a.getLastElementChild=tn_.dom.getLastElementChild;tn_a.getNextElementSibling=tn_.dom.getNextElementSibling;tn_a.getPreviousElementSibling=tn_.dom.getPreviousElementSibling;tn_a.getNextNode=tn_.dom.getNextNode;
tn_a.getPreviousNode=tn_.dom.getPreviousNode;tn_a.isNodeLike=tn_.dom.isNodeLike;tn_a.isElement=tn_.dom.isElement;tn_a.isWindow=tn_.dom.isWindow;tn_a.getParentElement=tn_.dom.getParentElement;tn_a.contains=tn_.dom.contains;tn_a.compareNodeOrder=tn_.dom.compareNodeOrder;tn_a.findCommonAncestor=tn_.dom.findCommonAncestor;tn_a.getOwnerDocument=tn_.dom.getOwnerDocument;tn_a.getFrameContentDocument=tn_.dom.getFrameContentDocument;tn_a.getFrameContentWindow=tn_.dom.getFrameContentWindow;
tn_a.setTextContent=tn_.dom.setTextContent;tn_a.getOuterHtml=tn_.dom.getOuterHtml;tn_a.findNode=tn_.dom.findNode;tn_a.findNodes=tn_.dom.findNodes;tn_a.isFocusableTabIndex=tn_.dom.isFocusableTabIndex;tn_a.setFocusableTabIndex=tn_.dom.setFocusableTabIndex;tn_a.isFocusable=tn_.dom.isFocusable;tn_a.getTextContent=tn_.dom.getTextContent;tn_a.getNodeTextLength=tn_.dom.getNodeTextLength;tn_a.getNodeTextOffset=tn_.dom.getNodeTextOffset;tn_a.getNodeAtOffset=tn_.dom.getNodeAtOffset;tn_a.isNodeList=tn_.dom.isNodeList;
tn_a.getAncestorByTagNameAndClass=tn_.dom.getAncestorByTagNameAndClass;tn_a.getAncestorByClass=tn_.dom.getAncestorByClass;tn_a.getAncestor=tn_.dom.getAncestor;tn_a.getCanvasContext2D=tn_.dom.getCanvasContext2D;tn_.dom.InputType={BUTTON:"button",CHECKBOX:"checkbox",COLOR:"color",DATE:"date",DATETIME:"datetime",DATETIME_LOCAL:"datetime-local",EMAIL:"email",FILE:"file",HIDDEN:"hidden",IMAGE:"image",MENU:"menu",MONTH:"month",NUMBER:"number",PASSWORD:"password",RADIO:"radio",RANGE:"range",RESET:"reset",SEARCH:"search",SELECT_MULTIPLE:"select-multiple",SELECT_ONE:"select-one",SUBMIT:"submit",TEL:"tel",TEXT:"text",TEXTAREA:"textarea",TIME:"time",URL:"url",WEEK:"week"};tn_.iter={};tn_.iter.StopIteration="StopIteration"in tn_.global?tn_.global.StopIteration:{message:"StopIteration",stack:""};tn_.iter.Iterator=function(){};tn_.iter.Iterator.prototype.next=function(){throw tn_.iter.StopIteration;};tn_.iter.Iterator.prototype.__iterator__=function(){return this};
tn_.iter.toIterator=function(a){if(a instanceof tn_.iter.Iterator)return a;if("function"==typeof a.__iterator__)return a.__iterator__(!1);if(tn_.isArrayLike(a)){var b=a,c=0;a=new tn_.iter.Iterator;a.next=function(){for(;;){if(c>=b.length)throw tn_.iter.StopIteration;if(c in b)return b[c++];c++}};return a}throw Error("Not implemented");};
tn_.iter.forEach=function(a,b,c){if(tn_.isArrayLike(a))try{tn_e(a,b,c)}catch(d){if(d!==tn_.iter.StopIteration)throw d;}else{a=tn_.iter.toIterator(a);try{for(;;)b.call(c,a.next(),void 0,a)}catch(d){if(d!==tn_.iter.StopIteration)throw d;}}};tn_.iter.filter=function(a,b,c){var d=tn_.iter.toIterator(a);a=new tn_.iter.Iterator;a.next=function(){for(;;){var e=d.next();if(b.call(c,e,void 0,d))return e}};return a};tn_.iter.filterFalse=function(a,b,c){return tn_.iter.filter(a,tn_.functions.not(b),c)};
tn_.iter.range=function(a,b,c){var d=0,e=a,f=c||1;1<arguments.length&&(d=a,e=+b);if(0==f)throw Error("Range step argument must not be zero");var g=new tn_.iter.Iterator;g.next=function(){if(0<f&&d>=e||0>f&&d<=e)throw tn_.iter.StopIteration;var l=d;d+=f;return l};return g};tn_.iter.join=function(a,b){return tn_.iter.toArray(a).join(b)};tn_.iter.map=function(a,b,c){var d=tn_.iter.toIterator(a);a=new tn_.iter.Iterator;a.next=function(){var e=d.next();return b.call(c,e,void 0,d)};return a};
tn_.iter.reduce=function(a,b,c,d){var e=c;tn_.iter.forEach(a,function(f){e=b.call(d,e,f)});return e};tn_.iter.some=function(a,b,c){a=tn_.iter.toIterator(a);try{for(;;)if(b.call(c,a.next(),void 0,a))return!0}catch(d){if(d!==tn_.iter.StopIteration)throw d;}return!1};tn_.iter.every=function(a,b,c){a=tn_.iter.toIterator(a);try{for(;;)if(!b.call(c,a.next(),void 0,a))return!1}catch(d){if(d!==tn_.iter.StopIteration)throw d;}return!0};tn_.iter.chain=function(a){return tn_.iter.chainFromIterable(arguments)};
tn_.iter.chainFromIterable=function(a){var b=tn_.iter.toIterator(a);a=new tn_.iter.Iterator;var c=null;a.next=function(){for(;;){if(null==c){var d=b.next();c=tn_.iter.toIterator(d)}try{return c.next()}catch(e){if(e!==tn_.iter.StopIteration)throw e;c=null}}};return a};tn_.iter.dropWhile=function(a,b,c){var d=tn_.iter.toIterator(a);a=new tn_.iter.Iterator;var e=!0;a.next=function(){for(;;){var f=d.next();if(!e||!b.call(c,f,void 0,d))return e=!1,f}};return a};
tn_.iter.takeWhile=function(a,b,c){var d=tn_.iter.toIterator(a);a=new tn_.iter.Iterator;a.next=function(){var e=d.next();if(b.call(c,e,void 0,d))return e;throw tn_.iter.StopIteration;};return a};tn_.iter.toArray=function(a){if(tn_.isArrayLike(a))return tn_h(a);a=tn_.iter.toIterator(a);var b=[];tn_.iter.forEach(a,function(c){b.push(c)});return b};tn_.iter.equals=function(a,b,c){var d={};a=tn_.iter.zipLongest(d,a,b);var e=c||tn_Wa;return tn_.iter.every(a,function(f){return e(f[0],f[1])})};
tn_.iter.nextOrValue=function(a,b){try{return tn_.iter.toIterator(a).next()}catch(c){if(c!=tn_.iter.StopIteration)throw c;return b}};
tn_.iter.product=function(a){var b=tn_oa(arguments,function(e){return!e.length});if(b||!arguments.length)return new tn_.iter.Iterator;b=new tn_.iter.Iterator;var c=arguments,d=tn_3a(0,c.length);b.next=function(){if(d){for(var e=tn_f(d,function(g,l){return c[l][g]}),f=d.length-1;0<=f;f--){tn_.asserts.assert(d);if(d[f]<c[f].length-1){d[f]++;break}if(0==f){d=null;break}d[f]=0}return e}throw tn_.iter.StopIteration;};return b};
tn_.iter.cycle=function(a){var b=tn_.iter.toIterator(a),c=[],d=0;a=new tn_.iter.Iterator;var e=!1;a.next=function(){var f=null;if(!e)try{return f=b.next(),c.push(f),f}catch(g){if(g!=tn_.iter.StopIteration||tn_va(c))throw g;e=!0}f=c[d];d=(d+1)%c.length;return f};return a};tn_.iter.count=function(a,b){var c=a||0,d=void 0!==b?b:1;a=new tn_.iter.Iterator;a.next=function(){var e=c;c+=d;return e};return a};tn_.iter.repeat=function(a){var b=new tn_.iter.Iterator;b.next=tn_.functions.constant(a);return b};
tn_.iter.accumulate=function(a){var b=tn_.iter.toIterator(a),c=0;a=new tn_.iter.Iterator;a.next=function(){return c+=b.next()};return a};tn_.iter.zip=function(a){var b=arguments,c=new tn_.iter.Iterator;if(0<b.length){var d=tn_f(b,tn_.iter.toIterator);c.next=function(){var e=tn_f(d,function(f){return f.next()});return e}}return c};
tn_.iter.zipLongest=function(a,b){var c=tn_La(arguments,1),d=new tn_.iter.Iterator;if(0<c.length){var e=tn_f(c,tn_.iter.toIterator);d.next=function(){var f=!1,g=tn_f(e,function(l){try{var n=l.next();f=!0}catch(k){if(k!==tn_.iter.StopIteration)throw k;n=a}return n});if(!f)throw tn_.iter.StopIteration;return g}}return d};tn_.iter.compress=function(a,b){var c=tn_.iter.toIterator(b);return tn_.iter.filter(a,function(){return!!c.next()})};
tn_.iter.GroupByIterator_=function(a,b){this.iterator=tn_.iter.toIterator(a);this.keyFunc=b||tn_.functions.identity};tn_.inherits(tn_.iter.GroupByIterator_,tn_.iter.Iterator);tn_.iter.GroupByIterator_.prototype.next=function(){for(;this.currentKey==this.targetKey;)this.currentValue=this.iterator.next(),this.currentKey=this.keyFunc(this.currentValue);this.targetKey=this.currentKey;return[this.currentKey,this.groupItems_(this.targetKey)]};
tn_.iter.GroupByIterator_.prototype.groupItems_=function(a){for(var b=[];this.currentKey==a;){b.push(this.currentValue);try{this.currentValue=this.iterator.next()}catch(c){if(c!==tn_.iter.StopIteration)throw c;break}this.currentKey=this.keyFunc(this.currentValue)}return b};tn_.iter.groupBy=function(a,b){return new tn_.iter.GroupByIterator_(a,b)};
tn_.iter.starMap=function(a,b,c){var d=tn_.iter.toIterator(a);a=new tn_.iter.Iterator;a.next=function(){var e=tn_.iter.toArray(d.next());return b.apply(c,tn_Ha(e,void 0,d))};return a};
tn_.iter.tee=function(a,b){var c=tn_.iter.toIterator(a);a="number"===typeof b?b:2;var d=tn_f(tn_2a(a),function(){return[]}),e=function(){var f=c.next();tn_e(d,function(g){g.push(f)})};a=function(f){var g=new tn_.iter.Iterator;g.next=function(){tn_va(f)&&e();tn_.asserts.assert(!tn_va(f));return f.shift()};return g};return tn_f(d,a)};tn_.iter.enumerate=function(a,b){return tn_.iter.zip(tn_.iter.count(b),a)};
tn_.iter.limit=function(a,b){tn_.asserts.assert(tn_.math.isInt(b)&&0<=b);var c=tn_.iter.toIterator(a);a=new tn_.iter.Iterator;var d=b;a.next=function(){if(0<d--)return c.next();throw tn_.iter.StopIteration;};return a};tn_.iter.consume=function(a,b){tn_.asserts.assert(tn_.math.isInt(b)&&0<=b);for(a=tn_.iter.toIterator(a);0<b--;)tn_.iter.nextOrValue(a,null);return a};
tn_.iter.slice=function(a,b,c){tn_.asserts.assert(tn_.math.isInt(b)&&0<=b);a=tn_.iter.consume(a,b);"number"===typeof c&&(tn_.asserts.assert(tn_.math.isInt(c)&&c>=b),a=tn_.iter.limit(a,c-b));return a};tn_.iter.hasDuplicates_=function(a){var b=[];tn_Ma(a,b);return a.length!=b.length};tn_.iter.permutations=function(a,b){a=tn_.iter.toArray(a);b="number"===typeof b?b:a.length;b=tn_3a(a,b);b=tn_.iter.product.apply(void 0,b);return tn_.iter.filter(b,function(c){return!tn_.iter.hasDuplicates_(c)})};
tn_.iter.combinations=function(a,b){function c(f){return d[f]}var d=tn_.iter.toArray(a);a=tn_.iter.range(d.length);b=tn_.iter.permutations(a,b);var e=tn_.iter.filter(b,function(f){return tn_Ua(f)});b=new tn_.iter.Iterator;b.next=function(){return tn_f(e.next(),c)};return b};
tn_.iter.combinationsWithReplacement=function(a,b){function c(f){return d[f]}var d=tn_.iter.toArray(a);a=tn_2a(d.length);b=tn_3a(a,b);b=tn_.iter.product.apply(void 0,b);var e=tn_.iter.filter(b,function(f){return tn_Ua(f)});b=new tn_.iter.Iterator;b.next=function(){return tn_f(e.next(),c)};return b};tn_.dom.TagWalkType={START_TAG:1,OTHER:0,END_TAG:-1};tn_.dom.TagIterator=function(a,b,c,d,e){this.reversed=!!b;this.node=null;this.tagType=tn_.dom.TagWalkType.OTHER;this.started_=!1;this.constrained=!c;a&&this.setPosition(a,d);this.depth=void 0!=e?e:this.tagType||0;this.reversed&&(this.depth*=-1)};tn_.inherits(tn_.dom.TagIterator,tn_.iter.Iterator);tn_a=tn_.dom.TagIterator.prototype;
tn_a.setPosition=function(a,b,c){if(this.node=a)this.tagType="number"===typeof b?b:this.node.nodeType!=tn_.dom.NodeType.ELEMENT?tn_.dom.TagWalkType.OTHER:this.reversed?tn_.dom.TagWalkType.END_TAG:tn_.dom.TagWalkType.START_TAG;"number"===typeof c&&(this.depth=c)};tn_a.clone=function(){return new tn_.dom.TagIterator(this.node,this.reversed,!this.constrained,this.tagType,this.depth)};
tn_a.restartTag=function(){var a=this.reversed?tn_.dom.TagWalkType.START_TAG:tn_.dom.TagWalkType.END_TAG;this.tagType==a&&(this.tagType=-1*a,this.depth+=this.tagType*(this.reversed?-1:1))};
tn_a.next=function(){if(this.started_){if(!this.node||this.constrained&&0==this.depth)throw tn_.iter.StopIteration;var a=this.node;var b=this.reversed?tn_.dom.TagWalkType.END_TAG:tn_.dom.TagWalkType.START_TAG;if(this.tagType==b){var c=this.reversed?a.lastChild:a.firstChild;c?this.setPosition(c):this.setPosition(a,-1*b)}else(c=this.reversed?a.previousSibling:a.nextSibling)?this.setPosition(c):this.setPosition(a.parentNode,-1*b);this.depth+=this.tagType*(this.reversed?-1:1)}else this.started_=!0;a=
this.node;if(!this.node)throw tn_.iter.StopIteration;return a};tn_a.isEndTag=function(){return this.tagType==tn_.dom.TagWalkType.END_TAG};tn_a.equals=function(a){return a.node==this.node&&(!this.node||a.tagType==this.tagType)};
tn_a.splice=function(a){var b=this.node;this.restartTag();this.reversed=!this.reversed;tn_.dom.TagIterator.prototype.next.call(this);this.reversed=!this.reversed;for(var c=tn_.isArrayLike(arguments[0])?arguments[0]:arguments,d=c.length-1;0<=d;d--)tn_.dom.insertSiblingAfter(c[d],b);tn_.dom.removeNode(b)};tn_.dom.NodeIterator=function(a,b,c,d){tn_.dom.TagIterator.call(this,a,b,c,null,d)};tn_.inherits(tn_.dom.NodeIterator,tn_.dom.TagIterator);tn_.dom.NodeIterator.prototype.next=function(){do tn_.dom.NodeIterator.superClass_.next.call(this);while(this.isEndTag());return this.node};tn_.userAgent.product={};tn_.userAgent.product.ASSUME_FIREFOX=!1;tn_.userAgent.product.ASSUME_IPHONE=!1;tn_.userAgent.product.ASSUME_IPAD=!1;tn_.userAgent.product.ASSUME_ANDROID=!1;tn_.userAgent.product.ASSUME_CHROME=!1;tn_.userAgent.product.ASSUME_SAFARI=!1;
tn_.userAgent.product.PRODUCT_KNOWN_=tn_.userAgent.ASSUME_IE||tn_.userAgent.ASSUME_EDGE||tn_.userAgent.ASSUME_OPERA||tn_.userAgent.product.ASSUME_FIREFOX||tn_.userAgent.product.ASSUME_IPHONE||tn_.userAgent.product.ASSUME_IPAD||tn_.userAgent.product.ASSUME_ANDROID||tn_.userAgent.product.ASSUME_CHROME||tn_.userAgent.product.ASSUME_SAFARI;tn_.userAgent.product.OPERA=tn_.userAgent.OPERA;tn_.userAgent.product.IE=tn_.userAgent.IE;tn_.userAgent.product.EDGE=tn_.userAgent.EDGE;
tn_.userAgent.product.FIREFOX=tn_.userAgent.product.PRODUCT_KNOWN_?tn_.userAgent.product.ASSUME_FIREFOX:tn_.labs.userAgent.browser.isFirefox();tn_.userAgent.product.isIphoneOrIpod_=function(){return tn_.labs.userAgent.platform.isIphone()||tn_.labs.userAgent.platform.isIpod()};tn_.userAgent.product.IPHONE=tn_.userAgent.product.PRODUCT_KNOWN_?tn_.userAgent.product.ASSUME_IPHONE:tn_.userAgent.product.isIphoneOrIpod_();
tn_.userAgent.product.IPAD=tn_.userAgent.product.PRODUCT_KNOWN_?tn_.userAgent.product.ASSUME_IPAD:tn_.labs.userAgent.platform.isIpad();tn_.userAgent.product.ANDROID=tn_.userAgent.product.PRODUCT_KNOWN_?tn_.userAgent.product.ASSUME_ANDROID:tn_.labs.userAgent.browser.isAndroidBrowser();tn_.userAgent.product.CHROME=tn_.userAgent.product.PRODUCT_KNOWN_?tn_.userAgent.product.ASSUME_CHROME:tn_.labs.userAgent.browser.isChrome();
tn_.userAgent.product.isSafariDesktop_=function(){return tn_.labs.userAgent.browser.isSafari()&&!tn_.labs.userAgent.platform.isIos()};tn_.userAgent.product.SAFARI=tn_.userAgent.product.PRODUCT_KNOWN_?tn_.userAgent.product.ASSUME_SAFARI:tn_.userAgent.product.isSafariDesktop_();tn_.html.CssSpecificity={};var tn_Yd={};
function tn_Zd(a){if(tn_.userAgent.product.IE&&!tn_.userAgent.isVersionOrHigher(9))return[0,0,0,0];var b=tn_Yd.hasOwnProperty(a)?tn_Yd[a]:null;if(b)return b;65536<Object.keys(tn_Yd).length&&(tn_Yd={});b=a;var c=[0,0,0,0],d=/\\[0-9A-Fa-f]{6}\s?/g,e=/\\[0-9A-Fa-f]{1,5}\s/g,f=/\\./g;b=tn__d(b,d);b=tn__d(b,e);b=tn__d(b,f);d=/:not\(([^\)]*)\)/g;b=b.replace(d,"     $1 ");d=/{[^]*/gm;b=b.replace(d,"");d=/(\[[^\]]+\])/g;b=tn_0d(b,c,d,2);d=/(#[^\#\s\+>~\.\[:]+)/g;b=tn_0d(b,c,d,1);d=/(\.[^\s\+>~\.\[:]+)/g;
b=tn_0d(b,c,d,2);d=/(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi;b=tn_0d(b,c,d,3);d=/(:[\w-]+\([^\)]*\))/gi;b=tn_0d(b,c,d,2);d=/(:[^\s\+>~\.\[:]+)/g;b=tn_0d(b,c,d,2);b=b.replace(/[\*\s\+>~]/g," ");b=b.replace(/[#\.]/g," ");d=/([^\s\+>~\.\[:]+)/g;tn_0d(b,c,d,3);b=c;return tn_Yd[a]=b}function tn_0d(a,b,c,d){return a.replace(c,function(e){b[d]+=1;return Array(e.length+1).join(" ")})}function tn__d(a,b){return a.replace(b,function(c){return Array(c.length+1).join("A")})}
tn_.html.CssSpecificity.getSpecificity=tn_Zd;tn_.html.sanitizer={};tn_.html.sanitizer.CssPropertySanitizer={};
var tn_1d={rgb:!0,rgba:!0,alpha:!0,rect:!0,image:!0,"linear-gradient":!0,"radial-gradient":!0,"repeating-linear-gradient":!0,"repeating-radial-gradient":!0,"cubic-bezier":!0,matrix:!0,perspective:!0,rotate:!0,rotate3d:!0,rotatex:!0,rotatey:!0,steps:!0,rotatez:!0,scale:!0,scale3d:!0,scalex:!0,scaley:!0,scalez:!0,skew:!0,skewx:!0,skewy:!0,translate:!0,translate3d:!0,translatex:!0,translatey:!0,translatez:!0},tn_2d=/[\n\f\r"'()*<>]/g,tn_3d={"\n":"%0a","\f":"%0c","\r":"%0d",'"':"%22","'":"%27","(":"%28",
")":"%29","*":"%2a","<":"%3c",">":"%3e"};function tn_4d(a){return tn_.asserts.assert(tn_3d[a])}
tn_.html.sanitizer.CssPropertySanitizer.sanitizeProperty=function(a,b,c){b=tn_.string.trim(b);if(""==b)return null;if(tn_.string.caseInsensitiveStartsWith(b,"url(")){if(!b.endsWith(")")||1<tn_.string.countOf(b,"(")||1<tn_.string.countOf(b,")")||!c)return null;b=tn_.string.stripQuotes(b.substring(4,b.length-1),"\"'");b=c?(b=c(b,a))&&tn_.html.SafeUrl.unwrap(b)!=tn_.html.SafeUrl.INNOCUOUS_STRING?'url("'+tn_.html.SafeUrl.unwrap(b).replace(tn_2d,tn_4d)+'")':null:null;return b}if(0<b.indexOf("(")){if(/"|'/.test(b))return null;
for(a=/([\-\w]+)\(/g;c=a.exec(b);)if(!(c[1].toLowerCase()in tn_1d))return null}return b};tn_.html.sanitizer.noclobber={};function tn_I(a,b){a=tn_.global[a];return a&&a.prototype?(b=Object.getOwnPropertyDescriptor(a.prototype,b))&&b.get||null:null}function tn_J(a,b){return(a=tn_.global[a])&&a.prototype&&a.prototype[b]||null}
var tn_K={ATTRIBUTES_GETTER:tn_I("Element","attributes")||tn_I("Node","attributes"),HAS_ATTRIBUTE:tn_J("Element","hasAttribute"),GET_ATTRIBUTE:tn_J("Element","getAttribute"),SET_ATTRIBUTE:tn_J("Element","setAttribute"),REMOVE_ATTRIBUTE:tn_J("Element","removeAttribute"),INNER_HTML_GETTER:tn_I("Element","innerHTML")||tn_I("HTMLElement","innerHTML"),GET_ELEMENTS_BY_TAG_NAME:tn_J("Element","getElementsByTagName"),MATCHES:tn_J("Element","matches")||tn_J("Element","msMatchesSelector"),NODE_NAME_GETTER:tn_I("Node",
"nodeName"),NODE_TYPE_GETTER:tn_I("Node","nodeType"),PARENT_NODE_GETTER:tn_I("Node","parentNode"),CHILD_NODES_GETTER:tn_I("Node","childNodes"),APPEND_CHILD:tn_J("Node","appendChild"),STYLE_GETTER:tn_I("HTMLElement","style")||tn_I("Element","style"),SHEET_GETTER:tn_I("HTMLStyleElement","sheet"),GET_PROPERTY_VALUE:tn_J("CSSStyleDeclaration","getPropertyValue"),SET_PROPERTY:tn_J("CSSStyleDeclaration","setProperty")};
function tn_L(a,b,c,d){if(a)return a.apply(b);a=b[c];if(!d(a))throw Error("Clobbering detected");return a}function tn_M(a,b,c,d){if(a)return a.apply(b,d);if(tn_.userAgent.product.IE&&10>document.documentMode){if(!b[c].call)throw Error("IE Clobbering detected");}else if("function"!=typeof b[c])throw Error("Clobbering detected");return b[c].apply(b,d)}function tn_5d(a){return tn_L(tn_K.ATTRIBUTES_GETTER,a,"attributes",function(b){return b instanceof NamedNodeMap})}
function tn_6d(a,b){return tn_M(tn_K.HAS_ATTRIBUTE,a,"hasAttribute",[b])}function tn_7d(a,b){return tn_M(tn_K.GET_ATTRIBUTE,a,"getAttribute",[b])||null}function tn_8d(a,b,c){try{tn_M(tn_K.SET_ATTRIBUTE,a,"setAttribute",[b,c])}catch(d){if(-1==d.message.indexOf("A security problem occurred"))throw d;}}function tn_9d(a,b){tn_M(tn_K.REMOVE_ATTRIBUTE,a,"removeAttribute",[b])}function tn_$d(a){return tn_L(tn_K.INNER_HTML_GETTER,a,"innerHTML",function(b){return"string"==typeof b})}
function tn_ae(a){tn_be(a);return tn_L(tn_K.STYLE_GETTER,a,"style",function(b){return b instanceof CSSStyleDeclaration})}function tn_be(a){if(tn_.asserts.ENABLE_ASSERTS&&!(a instanceof HTMLElement))throw Error("Not an HTMLElement");}function tn_ce(a,b){return Array.from(tn_M(tn_K.GET_ELEMENTS_BY_TAG_NAME,a,"getElementsByTagName",[b]))}function tn_de(a){tn_be(a);return tn_L(tn_K.SHEET_GETTER,a,"sheet",function(b){return b instanceof CSSStyleSheet})}
function tn_ee(a,b){return tn_M(tn_K.MATCHES,a,a.matches?"matches":"msMatchesSelector",[b])}function tn_fe(a){tn_.asserts.ENABLE_ASSERTS&&!tn_ge(a)&&tn_.asserts.fail("Expected Node of type Element but got Node of type %s",tn_he(a));return a}function tn_ge(a){return tn_he(a)==tn_.dom.NodeType.ELEMENT}function tn_ie(a){return tn_L(tn_K.NODE_NAME_GETTER,a,"nodeName",function(b){return"string"==typeof b})}
function tn_he(a){return tn_L(tn_K.NODE_TYPE_GETTER,a,"nodeType",function(b){return"number"==typeof b})}function tn_je(a){return tn_L(tn_K.PARENT_NODE_GETTER,a,"parentNode",function(b){return!(b&&"string"==typeof b.name&&b.name&&"parentnode"==b.name.toLowerCase())})}function tn_ke(a){return tn_L(tn_K.CHILD_NODES_GETTER,a,"childNodes",function(b){return b instanceof NodeList})}function tn_le(a,b){return tn_M(tn_K.APPEND_CHILD,a,"appendChild",[b])}
function tn_me(a,b){return tn_M(tn_K.GET_PROPERTY_VALUE,a,a.getPropertyValue?"getPropertyValue":"getAttribute",[b])||""}function tn_ne(a,b,c){tn_M(tn_K.SET_PROPERTY,a,a.setProperty?"setProperty":"setAttribute",[b,c])}tn_.html.sanitizer.noclobber.getElementAttributes=tn_5d;tn_.html.sanitizer.noclobber.hasElementAttribute=tn_6d;tn_.html.sanitizer.noclobber.getElementAttribute=tn_7d;tn_.html.sanitizer.noclobber.setElementAttribute=tn_8d;tn_.html.sanitizer.noclobber.removeElementAttribute=tn_9d;
tn_.html.sanitizer.noclobber.getElementInnerHTML=tn_$d;tn_.html.sanitizer.noclobber.getElementStyle=tn_ae;tn_.html.sanitizer.noclobber.getElementsByTagName=tn_ce;tn_.html.sanitizer.noclobber.getElementStyleSheet=tn_de;tn_.html.sanitizer.noclobber.elementMatches=tn_ee;tn_.html.sanitizer.noclobber.assertNodeIsElement=tn_fe;tn_.html.sanitizer.noclobber.isNodeElement=tn_ge;tn_.html.sanitizer.noclobber.getNodeName=tn_ie;tn_.html.sanitizer.noclobber.getNodeType=tn_he;
tn_.html.sanitizer.noclobber.getParentNode=tn_je;tn_.html.sanitizer.noclobber.getChildNodes=tn_ke;tn_.html.sanitizer.noclobber.appendNodeChild=tn_le;tn_.html.sanitizer.noclobber.getCssPropertyValue=tn_me;tn_.html.sanitizer.noclobber.setCssProperty=tn_ne;tn_.html.sanitizer.noclobber.Methods=tn_K;tn_.html.sanitizer.CssSanitizer={};tn_.html.sanitizer.CssSanitizer.SELECTOR_REGEX_=tn_.userAgent.IE&&10>document.documentMode?null:/\s*([^\s'",]+[^'",]*(('([^'\r\n\f\\]|\\[^])*')|("([^"\r\n\f\\]|\\[^])*")|[^'",])*)/g;tn_.html.sanitizer.CHROME_INCLUDE_VENDOR_PREFIX_WHITELIST_={"-webkit-border-horizontal-spacing":!0,"-webkit-border-vertical-spacing":!0};
tn_.html.sanitizer.CssSanitizer.withoutVendorPrefix_=function(a){return tn_.userAgent.WEBKIT&&a in tn_.html.sanitizer.CHROME_INCLUDE_VENDOR_PREFIX_WHITELIST_?a:a.replace(/^-(?:apple|css|epub|khtml|moz|mso?|o|rim|wap|webkit|xv)-(?=[a-z])/i,"")};
tn_.html.sanitizer.CssSanitizer.sanitizeStyleSheet_=function(a,b,c){var d=[];a=tn_.html.sanitizer.CssSanitizer.getOnlyStyleRules_(tn_h(a.cssRules));tn_e(a,function(e){if(b&&!/[a-zA-Z][\w-:\.]*/.test(b))throw Error("Invalid container id");if(!(b&&tn_.userAgent.product.IE&&10==document.documentMode&&/\\['"]/.test(e.selectorText))){var f=b?e.selectorText.replace(tn_.html.sanitizer.CssSanitizer.SELECTOR_REGEX_,"#"+b+" $1"):e.selectorText;d.push(tn_k.createRule(f,tn_.html.sanitizer.CssSanitizer.sanitizeInlineStyle(e.style,
c)))}});return tn_k.concat(d)};tn_.html.sanitizer.CssSanitizer.getOnlyStyleRules_=function(a){return tn_la(a,function(b){return b instanceof CSSStyleRule||b.type==CSSRule.STYLE_RULE})};tn_.html.sanitizer.CssSanitizer.sanitizeStyleSheetString=function(a,b,c){a=tn_.html.sanitizer.CssSanitizer.safeParseHtmlAndGetInertElement("<style>"+a+"</style>");if(null==a||null==a.sheet)return tn_k.EMPTY;b=void 0!=b?b:null;return tn_.html.sanitizer.CssSanitizer.sanitizeStyleSheet_(a.sheet,b,c)};
tn_.html.sanitizer.CssSanitizer.safeParseHtmlAndGetInertElement=function(a){if(tn_.userAgent.IE&&!tn_.userAgent.isVersionOrHigher(10)||"function"!=typeof tn_.global.DOMParser)return null;a=tn_.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(tn_.string.Const.from("Never attached to DOM."),"<html><head></head><body>"+a+"</body></html>");return tn_.dom.safe.parseFromStringHtml(new DOMParser,a).body.children[0]};
tn_.html.sanitizer.CssSanitizer.sanitizeInlineStyle=function(a,b){if(!a)return tn_.html.SafeStyle.EMPTY;var c=document.createElement("div").style,d=tn_.html.sanitizer.CssSanitizer.getCssPropNames_(a);tn_e(d,function(e){var f=tn_.html.sanitizer.CssSanitizer.withoutVendorPrefix_(e);tn_.html.sanitizer.CssSanitizer.isDisallowedPropertyName_(f)||(e=tn_me(a,e),e=tn_.html.sanitizer.CssPropertySanitizer.sanitizeProperty(f,e,b),null!=e&&tn_ne(c,f,e))});return tn_.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract(tn_.string.Const.from("Output of CSS sanitizer"),
c.cssText||"")};tn_.html.sanitizer.CssSanitizer.sanitizeInlineStyleString=function(a,b){if(tn_.userAgent.IE&&10>document.documentMode)return tn_.html.SafeStyle.EMPTY;var c=tn_.html.sanitizer.CssSanitizer.createInertDocument_().createElement("DIV");c.style.cssText=a;return tn_.html.sanitizer.CssSanitizer.sanitizeInlineStyle(c.style,b)};
tn_.html.sanitizer.CssSanitizer.inlineStyleRules=function(a){var b=tn_ce(a,"STYLE"),c=tn_$a(b,function(e){return tn_h(tn_de(e).cssRules)});c=tn_.html.sanitizer.CssSanitizer.getOnlyStyleRules_(c);c.sort(function(e,f){e=tn_Zd(e.selectorText);f=tn_Zd(f.selectorText);return-tn_Xa(e,f)});a=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,null,!1);for(var d;d=a.nextNode();)tn_e(c,function(e){tn_ee(d,e.selectorText)&&e.style&&tn_.html.sanitizer.CssSanitizer.mergeStyleDeclarations_(d,e.style)});tn_e(b,
tn_.dom.removeNode)};tn_.html.sanitizer.CssSanitizer.mergeStyleDeclarations_=function(a,b){var c=tn_.html.sanitizer.CssSanitizer.getCssPropNames_(a.style),d=tn_.html.sanitizer.CssSanitizer.getCssPropNames_(b);tn_e(d,function(e){if(!(0<=c.indexOf(e))){var f=tn_me(b,e);tn_ne(a.style,e,f)}})};tn_.html.sanitizer.CssSanitizer.createInertDocument_=function(){var a=document;"function"===typeof HTMLTemplateElement&&(a=tn_.dom.createElement(tn_.dom.TagName.TEMPLATE).content.ownerDocument);return a.implementation.createHTMLDocument("")};
tn_.html.sanitizer.CssSanitizer.getCssPropNames_=function(a){tn_.isArrayLike(a)?a=tn_h(a):(a=tn_.object.getKeys(a),tn_Ca(a,"cssText"));return a};tn_.html.sanitizer.CssSanitizer.isDisallowedPropertyName_=function(a){return tn_.string.startsWith(a,"--")||tn_.string.startsWith(a,"var")};tn_.dom.vendor={};tn_.dom.vendor.getVendorJsPrefix=function(){return tn_.userAgent.WEBKIT?"Webkit":tn_.userAgent.GECKO?"Moz":tn_.userAgent.IE?"ms":tn_.userAgent.OPERA?"O":null};tn_.dom.vendor.getVendorPrefix=function(){return tn_.userAgent.WEBKIT?"-webkit":tn_.userAgent.GECKO?"-moz":tn_.userAgent.IE?"-ms":tn_.userAgent.OPERA?"-o":null};
tn_.dom.vendor.getPrefixedPropertyName=function(a,b){if(b&&a in b)return a;var c=tn_.dom.vendor.getVendorJsPrefix();return c?(c=c.toLowerCase(),a=c+tn_.string.toTitleCase(a),void 0===b||a in b?a:null):null};tn_.dom.vendor.getPrefixedEventType=function(a){var b=tn_.dom.vendor.getVendorJsPrefix()||"";return(b+a).toLowerCase()};tn_.math.Box=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};tn_.math.Box.boundingBox=function(a){for(var b=new tn_.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),c=1;c<arguments.length;c++)b.expandToIncludeCoordinate(arguments[c]);return b};tn_.math.Box.prototype.clone=function(){return new tn_.math.Box(this.top,this.right,this.bottom,this.left)};
tn_.DEBUG&&(tn_.math.Box.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"});tn_.math.Box.prototype.contains=function(a){return tn_.math.Box.contains(this,a)};tn_.math.Box.prototype.expand=function(a,b,c,d){tn_.isObject(a)?(this.top-=a.top,this.right+=a.right,this.bottom+=a.bottom,this.left-=a.left):(this.top-=a,this.right+=Number(b),this.bottom+=Number(c),this.left-=Number(d));return this};
tn_.math.Box.prototype.expandToIncludeCoordinate=function(a){this.top=Math.min(this.top,a.y);this.right=Math.max(this.right,a.x);this.bottom=Math.max(this.bottom,a.y);this.left=Math.min(this.left,a.x)};tn_.math.Box.equals=function(a,b){return a==b?!0:a&&b?a.top==b.top&&a.right==b.right&&a.bottom==b.bottom&&a.left==b.left:!1};
tn_.math.Box.contains=function(a,b){return a&&b?b instanceof tn_.math.Box?b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom:b.x>=a.left&&b.x<=a.right&&b.y>=a.top&&b.y<=a.bottom:!1};tn_.math.Box.relativePositionX=function(a,b){return b.x<a.left?b.x-a.left:b.x>a.right?b.x-a.right:0};tn_.math.Box.relativePositionY=function(a,b){return b.y<a.top?b.y-a.top:b.y>a.bottom?b.y-a.bottom:0};
tn_.math.Box.distance=function(a,b){var c=tn_.math.Box.relativePositionX(a,b);a=tn_.math.Box.relativePositionY(a,b);return Math.sqrt(c*c+a*a)};tn_.math.Box.intersects=function(a,b){return a.left<=b.right&&b.left<=a.right&&a.top<=b.bottom&&b.top<=a.bottom};tn_.math.Box.intersectsWithPadding=function(a,b,c){return a.left<=b.right+c&&b.left<=a.right+c&&a.top<=b.bottom+c&&b.top<=a.bottom+c};tn_a=tn_.math.Box.prototype;
tn_a.ceil=function(){this.top=Math.ceil(this.top);this.right=Math.ceil(this.right);this.bottom=Math.ceil(this.bottom);this.left=Math.ceil(this.left);return this};tn_a.floor=function(){this.top=Math.floor(this.top);this.right=Math.floor(this.right);this.bottom=Math.floor(this.bottom);this.left=Math.floor(this.left);return this};tn_a.round=function(){this.top=Math.round(this.top);this.right=Math.round(this.right);this.bottom=Math.round(this.bottom);this.left=Math.round(this.left);return this};
tn_a.translate=function(a,b){a instanceof tn_.math.Coordinate?(this.left+=a.x,this.right+=a.x,this.top+=a.y,this.bottom+=a.y):(tn_.asserts.assertNumber(a),this.left+=a,this.right+=a,"number"===typeof b&&(this.top+=b,this.bottom+=b));return this};tn_a.scale=function(a,b){b="number"===typeof b?b:a;this.left*=a;this.right*=a;this.top*=b;this.bottom*=b;return this};tn_.math.IRect=function(){};tn_.math.Rect=function(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d};tn_.math.Rect.prototype.clone=function(){return new tn_.math.Rect(this.left,this.top,this.width,this.height)};tn_.math.Rect.createFromPositionAndSize=function(a,b){return new tn_.math.Rect(a.x,a.y,b.width,b.height)};tn_.math.Rect.createFromBox=function(a){return new tn_.math.Rect(a.left,a.top,a.right-a.left,a.bottom-a.top)};
tn_.DEBUG&&(tn_.math.Rect.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"});tn_.math.Rect.equals=function(a,b){return a==b?!0:a&&b?a.left==b.left&&a.width==b.width&&a.top==b.top&&a.height==b.height:!1};
tn_.math.Rect.prototype.intersection=function(a){var b=Math.max(this.left,a.left),c=Math.min(this.left+this.width,a.left+a.width);if(b<=c){var d=Math.max(this.top,a.top);a=Math.min(this.top+this.height,a.top+a.height);if(d<=a)return this.left=b,this.top=d,this.width=c-b,this.height=a-d,!0}return!1};
tn_.math.Rect.intersection=function(a,b){var c=Math.max(a.left,b.left),d=Math.min(a.left+a.width,b.left+b.width);if(c<=d){var e=Math.max(a.top,b.top);a=Math.min(a.top+a.height,b.top+b.height);if(e<=a)return new tn_.math.Rect(c,e,d-c,a-e)}return null};tn_.math.Rect.intersects=function(a,b){return a.left<=b.left+b.width&&b.left<=a.left+a.width&&a.top<=b.top+b.height&&b.top<=a.top+a.height};tn_.math.Rect.prototype.intersects=function(a){return tn_.math.Rect.intersects(this,a)};
tn_.math.Rect.difference=function(a,b){var c=tn_.math.Rect.intersection(a,b);if(!c||!c.height||!c.width)return[a.clone()];c=[];var d=a.top,e=a.height,f=a.left+a.width,g=a.top+a.height,l=b.left+b.width,n=b.top+b.height;b.top>a.top&&(c.push(new tn_.math.Rect(a.left,a.top,a.width,b.top-a.top)),d=b.top,e-=b.top-a.top);n<g&&(c.push(new tn_.math.Rect(a.left,n,a.width,g-n)),e=n-d);b.left>a.left&&c.push(new tn_.math.Rect(a.left,d,b.left-a.left,e));l<f&&c.push(new tn_.math.Rect(l,d,f-l,e));return c};
tn_.math.Rect.prototype.difference=function(a){return tn_.math.Rect.difference(this,a)};tn_.math.Rect.prototype.boundingRect=function(a){var b=Math.max(this.left+this.width,a.left+a.width),c=Math.max(this.top+this.height,a.top+a.height);this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.width=b-this.left;this.height=c-this.top};tn_.math.Rect.boundingRect=function(a,b){if(!a||!b)return null;a=new tn_.math.Rect(a.left,a.top,a.width,a.height);a.boundingRect(b);return a};
tn_a=tn_.math.Rect.prototype;tn_a.contains=function(a){return a instanceof tn_.math.Coordinate?a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height:this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height};tn_a.squaredDistance=function(a){var b=a.x<this.left?this.left-a.x:Math.max(a.x-(this.left+this.width),0);a=a.y<this.top?this.top-a.y:Math.max(a.y-(this.top+this.height),0);return b*b+a*a};tn_a.distance=function(a){return Math.sqrt(this.squaredDistance(a))};
tn_a.getSize=function(){return new tn_.math.Size(this.width,this.height)};tn_a.ceil=function(){this.left=Math.ceil(this.left);this.top=Math.ceil(this.top);this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};tn_a.floor=function(){this.left=Math.floor(this.left);this.top=Math.floor(this.top);this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};
tn_a.round=function(){this.left=Math.round(this.left);this.top=Math.round(this.top);this.width=Math.round(this.width);this.height=Math.round(this.height);return this};tn_a.translate=function(a,b){a instanceof tn_.math.Coordinate?(this.left+=a.x,this.top+=a.y):(this.left+=tn_.asserts.assertNumber(a),"number"===typeof b&&(this.top+=b));return this};tn_a.scale=function(a,b){b="number"===typeof b?b:a;this.left*=a;this.width*=a;this.top*=b;this.height*=b;return this};tn_.style={};tn_.style.setStyle=function(a,b,c){if("string"===typeof b)tn_.style.setStyle_(a,c,b);else for(var d in b)tn_.style.setStyle_(a,b[d],d)};tn_.style.setStyle_=function(a,b,c){(c=tn_.style.getVendorJsStyleName_(a,c))&&(a.style[c]=b)};tn_.style.styleNameCache_={};
tn_.style.getVendorJsStyleName_=function(a,b){var c=tn_.style.styleNameCache_[b];if(!c){var d=tn_.string.toCamelCase(b);c=d;void 0===a.style[d]&&(d=tn_.dom.vendor.getVendorJsPrefix()+tn_.string.toTitleCase(d),void 0!==a.style[d]&&(c=d));tn_.style.styleNameCache_[b]=c}return c};
tn_.style.getVendorStyleName_=function(a,b){var c=tn_.string.toCamelCase(b);return void 0===a.style[c]&&(c=tn_.dom.vendor.getVendorJsPrefix()+tn_.string.toTitleCase(c),void 0!==a.style[c])?tn_.dom.vendor.getVendorPrefix()+"-"+b:b};tn_.style.getStyle=function(a,b){var c=a.style[tn_.string.toCamelCase(b)];return"undefined"!==typeof c?c:a.style[tn_.style.getVendorJsStyleName_(a,b)]||""};
tn_.style.getComputedStyle=function(a,b){var c=tn_.dom.getOwnerDocument(a);return c.defaultView&&c.defaultView.getComputedStyle&&(a=c.defaultView.getComputedStyle(a,null))?a[b]||a.getPropertyValue(b)||"":""};tn_.style.getCascadedStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:null};tn_.style.getStyle_=function(a,b){return tn_.style.getComputedStyle(a,b)||tn_.style.getCascadedStyle(a,b)||a.style&&a.style[b]};
tn_.style.getComputedBoxSizing=function(a){return tn_.style.getStyle_(a,"boxSizing")||tn_.style.getStyle_(a,"MozBoxSizing")||tn_.style.getStyle_(a,"WebkitBoxSizing")||null};tn_.style.getComputedPosition=function(a){return tn_.style.getStyle_(a,"position")};tn_.style.getBackgroundColor=function(a){return tn_.style.getStyle_(a,"backgroundColor")};tn_.style.getComputedOverflowX=function(a){return tn_.style.getStyle_(a,"overflowX")};
tn_.style.getComputedOverflowY=function(a){return tn_.style.getStyle_(a,"overflowY")};tn_.style.getComputedZIndex=function(a){return tn_.style.getStyle_(a,"zIndex")};tn_.style.getComputedTextAlign=function(a){return tn_.style.getStyle_(a,"textAlign")};tn_.style.getComputedCursor=function(a){return tn_.style.getStyle_(a,"cursor")};tn_.style.getComputedTransform=function(a){var b=tn_.style.getVendorStyleName_(a,"transform");return tn_.style.getStyle_(a,b)||tn_.style.getStyle_(a,"transform")};
tn_.style.setPosition=function(a,b,c){if(b instanceof tn_.math.Coordinate){var d=b.x;b=b.y}else d=b,b=c;a.style.left=tn_.style.getPixelStyleValue_(d,!1);a.style.top=tn_.style.getPixelStyleValue_(b,!1)};tn_.style.getPosition=function(a){return new tn_.math.Coordinate(a.offsetLeft,a.offsetTop)};
tn_.style.getClientViewportElement=function(a){a=a?tn_.dom.getOwnerDocument(a):tn_.dom.getDocument();return!tn_.userAgent.IE||tn_.userAgent.isDocumentModeOrHigher(9)||tn_.dom.getDomHelper(a).isCss1CompatMode()?a.documentElement:a.body};tn_.style.getViewportPageOffset=function(a){var b=a.body,c=a.documentElement;a=b.scrollLeft||c.scrollLeft;b=b.scrollTop||c.scrollTop;return new tn_.math.Coordinate(a,b)};
tn_.style.getBoundingClientRect_=function(a){try{return a.getBoundingClientRect()}catch(b){return{left:0,top:0,right:0,bottom:0}}};
tn_.style.getOffsetParent=function(a){if(tn_.userAgent.IE&&!tn_.userAgent.isDocumentModeOrHigher(8))return tn_.asserts.assert(a&&"offsetParent"in a),a.offsetParent;var b=tn_.dom.getOwnerDocument(a),c=tn_.style.getStyle_(a,"position"),d="fixed"==c||"absolute"==c;for(a=a.parentNode;a&&a!=b;a=a.parentNode)if(a.nodeType==tn_.dom.NodeType.DOCUMENT_FRAGMENT&&a.host&&(a=a.host),c=tn_.style.getStyle_(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>
a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return null};
tn_.style.getVisibleRectForElement=function(a){for(var b=new tn_.math.Box(0,Infinity,Infinity,0),c=tn_.dom.getDomHelper(a),d=c.getDocument().body,e=c.getDocument().documentElement,f=c.getDocumentScrollElement();a=tn_.style.getOffsetParent(a);)if(!(tn_.userAgent.IE&&0==a.clientWidth||tn_.userAgent.WEBKIT&&0==a.clientHeight&&a==d)&&a!=d&&a!=e&&"visible"!=tn_.style.getStyle_(a,"overflow")){var g=tn_.style.getPageOffset(a),l=tn_.style.getClientLeftTop(a);g.x+=l.x;g.y+=l.y;b.top=Math.max(b.top,g.y);b.right=
Math.min(b.right,g.x+a.clientWidth);b.bottom=Math.min(b.bottom,g.y+a.clientHeight);b.left=Math.max(b.left,g.x)}d=f.scrollLeft;f=f.scrollTop;b.left=Math.max(b.left,d);b.top=Math.max(b.top,f);c=c.getViewportSize();b.right=Math.min(b.right,d+c.width);b.bottom=Math.min(b.bottom,f+c.height);return 0<=b.top&&0<=b.left&&b.bottom>b.top&&b.right>b.left?b:null};
tn_.style.getContainerOffsetToScrollInto=function(a,b,c){var d=b||tn_.dom.getDocumentScrollElement(),e=tn_.style.getPageOffset(a),f=tn_.style.getPageOffset(d),g=tn_.style.getBorderBox(d);d==tn_.dom.getDocumentScrollElement()?(b=e.x-d.scrollLeft,e=e.y-d.scrollTop,tn_.userAgent.IE&&!tn_.userAgent.isDocumentModeOrHigher(10)&&(b+=g.left,e+=g.top)):(b=e.x-f.x-g.left,e=e.y-f.y-g.top);g=tn_.style.getSizeWithDisplay_(a);a=d.clientWidth-g.width;g=d.clientHeight-g.height;f=d.scrollLeft;d=d.scrollTop;c?(f+=
b-a/2,d+=e-g/2):(f+=Math.min(b,Math.max(b-a,0)),d+=Math.min(e,Math.max(e-g,0)));return new tn_.math.Coordinate(f,d)};tn_.style.scrollIntoContainerView=function(a,b,c){b=b||tn_.dom.getDocumentScrollElement();a=tn_.style.getContainerOffsetToScrollInto(a,b,c);b.scrollLeft=a.x;b.scrollTop=a.y};tn_.style.getClientLeftTop=function(a){return new tn_.math.Coordinate(a.clientLeft,a.clientTop)};
tn_.style.getPageOffset=function(a){var b=tn_.dom.getOwnerDocument(a);tn_.asserts.assertObject(a,"Parameter is required");var c=new tn_.math.Coordinate(0,0),d=tn_.style.getClientViewportElement(b);if(a==d)return c;a=tn_.style.getBoundingClientRect_(a);b=tn_.dom.getDomHelper(b).getDocumentScroll();c.x=a.left+b.x;c.y=a.top+b.y;return c};tn_.style.getPageOffsetLeft=function(a){return tn_.style.getPageOffset(a).x};tn_.style.getPageOffsetTop=function(a){return tn_.style.getPageOffset(a).y};
tn_.style.getFramedPageOffset=function(a,b){var c=new tn_.math.Coordinate(0,0),d=tn_.dom.getWindow(tn_.dom.getOwnerDocument(a));if(!tn_.reflect.canAccessProperty(d,"parent"))return c;do{var e=d==b?tn_.style.getPageOffset(a):tn_.style.getClientPositionForElement_(tn_.asserts.assert(a));c.x+=e.x;c.y+=e.y}while(d&&d!=b&&d!=d.parent&&(a=d.frameElement)&&(d=d.parent));return c};
tn_.style.translateRectForAnotherFrame=function(a,b,c){if(b.getDocument()!=c.getDocument()){var d=b.getDocument().body;c=tn_.style.getFramedPageOffset(d,c.getWindow());c=tn_.math.Coordinate.difference(c,tn_.style.getPageOffset(d));!tn_.userAgent.IE||tn_.userAgent.isDocumentModeOrHigher(9)||b.isCss1CompatMode()||(c=tn_.math.Coordinate.difference(c,b.getDocumentScroll()));a.left+=c.x;a.top+=c.y}};
tn_.style.getRelativePosition=function(a,b){a=tn_.style.getClientPosition(a);b=tn_.style.getClientPosition(b);return new tn_.math.Coordinate(a.x-b.x,a.y-b.y)};tn_.style.getClientPositionForElement_=function(a){a=tn_.style.getBoundingClientRect_(a);return new tn_.math.Coordinate(a.left,a.top)};
tn_.style.getClientPosition=function(a){tn_.asserts.assert(a);if(a.nodeType==tn_.dom.NodeType.ELEMENT)return tn_.style.getClientPositionForElement_(a);a=a.changedTouches?a.changedTouches[0]:a;return new tn_.math.Coordinate(a.clientX,a.clientY)};tn_.style.setPageOffset=function(a,b,c){var d=tn_.style.getPageOffset(a);b instanceof tn_.math.Coordinate&&(c=b.y,b=b.x);b=tn_.asserts.assertNumber(b)-d.x;c=Number(c)-d.y;tn_.style.setPosition(a,a.offsetLeft+b,a.offsetTop+c)};
tn_.style.setSize=function(a,b,c){if(b instanceof tn_.math.Size)c=b.height,b=b.width;else if(void 0==c)throw Error("missing height argument");tn_.style.setWidth(a,b);tn_.style.setHeight(a,c)};tn_.style.getPixelStyleValue_=function(a,b){"number"==typeof a&&(a=(b?Math.round(a):a)+"px");return a};tn_.style.setHeight=function(a,b){a.style.height=tn_.style.getPixelStyleValue_(b,!0)};tn_.style.setWidth=function(a,b){a.style.width=tn_.style.getPixelStyleValue_(b,!0)};
tn_.style.getSize=function(a){return tn_.style.evaluateWithTemporaryDisplay_(tn_.style.getSizeWithDisplay_,a)};tn_.style.evaluateWithTemporaryDisplay_=function(a,b){if("none"!=tn_.style.getStyle_(b,"display"))return a(b);var c=b.style,d=c.display,e=c.visibility,f=c.position;c.visibility="hidden";c.position="absolute";c.display="inline";a=a(b);c.display=d;c.position=f;c.visibility=e;return a};
tn_.style.getSizeWithDisplay_=function(a){var b=a.offsetWidth,c=a.offsetHeight,d=tn_.userAgent.WEBKIT&&!b&&!c;return(void 0===b||d)&&a.getBoundingClientRect?(a=tn_.style.getBoundingClientRect_(a),new tn_.math.Size(a.right-a.left,a.bottom-a.top)):new tn_.math.Size(b,c)};tn_.style.getTransformedSize=function(a){if(!a.getBoundingClientRect)return null;a=tn_.style.evaluateWithTemporaryDisplay_(tn_.style.getBoundingClientRect_,a);return new tn_.math.Size(a.right-a.left,a.bottom-a.top)};
tn_.style.getBounds=function(a){var b=tn_.style.getPageOffset(a);a=tn_.style.getSize(a);return new tn_.math.Rect(b.x,b.y,a.width,a.height)};tn_.style.toCamelCase=function(a){return tn_.string.toCamelCase(String(a))};tn_.style.toSelectorCase=function(a){return tn_.string.toSelectorCase(a)};
tn_.style.getOpacity=function(a){tn_.asserts.assert(a);var b=a.style;a="";"opacity"in b?a=b.opacity:"MozOpacity"in b?a=b.MozOpacity:"filter"in b&&(b=b.filter.match(/alpha\(opacity=([\d.]+)\)/))&&(a=String(b[1]/100));return""==a?a:Number(a)};tn_.style.setOpacity=function(a,b){tn_.asserts.assert(a);a=a.style;"opacity"in a?a.opacity=b:"MozOpacity"in a?a.MozOpacity=b:"filter"in a&&(a.filter=""===b?"":"alpha(opacity="+100*Number(b)+")")};
tn_.style.setTransparentBackgroundImage=function(a,b){a=a.style;tn_.userAgent.IE&&!tn_.userAgent.isVersionOrHigher("8")?a.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+b+'", sizingMethod="crop")':(a.backgroundImage="url("+b+")",a.backgroundPosition="top left",a.backgroundRepeat="no-repeat")};tn_.style.clearTransparentBackgroundImage=function(a){a=a.style;"filter"in a?a.filter="":a.backgroundImage="none"};tn_.style.showElement=function(a,b){tn_.style.setElementShown(a,b)};
tn_.style.setElementShown=function(a,b){a.style.display=b?"":"none"};tn_.style.isElementShown=function(a){return"none"!=a.style.display};
tn_.style.installSafeStyleSheet=function(a,b){b=tn_.dom.getDomHelper(b);var c=b.getDocument();if(tn_.userAgent.IE&&c.createStyleSheet)return b=c.createStyleSheet(),tn_.style.setSafeStyleSheet(b,a),b;c=b.getElementsByTagNameAndClass(tn_.dom.TagName.HEAD)[0];if(!c){var d=b.getElementsByTagNameAndClass(tn_.dom.TagName.BODY)[0];c=b.createDom(tn_.dom.TagName.HEAD);d.parentNode.insertBefore(c,d)}d=b.createDom(tn_.dom.TagName.STYLE);var e=tn_.getScriptNonce();e&&d.setAttribute("nonce",e);tn_.style.setSafeStyleSheet(d,
a);b.appendChild(c,d);return d};tn_.style.uninstallStyles=function(a){a=a.ownerNode||a.owningElement||a;tn_.dom.removeNode(a)};tn_.style.setSafeStyleSheet=function(a,b){b=tn_k.unwrap(b);tn_.userAgent.IE&&void 0!==a.cssText?a.cssText=b:tn_.global.trustedTypes?tn_.dom.setTextContent(a,b):a.innerHTML=b};tn_.style.setPreWrap=function(a){a=a.style;tn_.userAgent.IE&&!tn_.userAgent.isVersionOrHigher("8")?(a.whiteSpace="pre",a.wordWrap="break-word"):a.whiteSpace=tn_.userAgent.GECKO?"-moz-pre-wrap":"pre-wrap"};
tn_.style.setInlineBlock=function(a){a=a.style;a.position="relative";tn_.userAgent.IE&&!tn_.userAgent.isVersionOrHigher("8")?(a.zoom="1",a.display="inline"):a.display="inline-block"};tn_.style.isRightToLeft=function(a){return"rtl"==tn_.style.getStyle_(a,"direction")};tn_.style.unselectableStyle_=tn_.userAgent.GECKO?"MozUserSelect":tn_.userAgent.WEBKIT||tn_.userAgent.EDGE?"WebkitUserSelect":null;
tn_.style.isUnselectable=function(a){return tn_.style.unselectableStyle_?"none"==a.style[tn_.style.unselectableStyle_].toLowerCase():tn_.userAgent.IE||tn_.userAgent.OPERA?"on"==a.getAttribute("unselectable"):!1};
tn_.style.setUnselectable=function(a,b,c){c=c?null:a.getElementsByTagName("*");var d=tn_.style.unselectableStyle_;if(d){if(b=b?"none":"",a.style&&(a.style[d]=b),c){a=0;for(var e;e=c[a];a++)e.style&&(e.style[d]=b)}}else if(tn_.userAgent.IE||tn_.userAgent.OPERA)if(b=b?"on":"",a.setAttribute("unselectable",b),c)for(a=0;e=c[a];a++)e.setAttribute("unselectable",b)};tn_.style.getBorderBoxSize=function(a){return new tn_.math.Size(a.offsetWidth,a.offsetHeight)};
tn_.style.setBorderBoxSize=function(a,b){var c=tn_.dom.getOwnerDocument(a),d=tn_.dom.getDomHelper(c).isCss1CompatMode();!tn_.userAgent.IE||tn_.userAgent.isVersionOrHigher("10")||d&&tn_.userAgent.isVersionOrHigher("8")?tn_.style.setBoxSizingSize_(a,b,"border-box"):(c=a.style,d?(d=tn_.style.getPaddingBox(a),a=tn_.style.getBorderBox(a),c.pixelWidth=b.width-a.left-d.left-d.right-a.right,c.pixelHeight=b.height-a.top-d.top-d.bottom-a.bottom):(c.pixelWidth=b.width,c.pixelHeight=b.height))};
tn_.style.getContentBoxSize=function(a){var b=tn_.dom.getOwnerDocument(a),c=tn_.userAgent.IE&&a.currentStyle;if(c&&tn_.dom.getDomHelper(b).isCss1CompatMode()&&"auto"!=c.width&&"auto"!=c.height&&!c.boxSizing)return b=tn_.style.getIePixelValue_(a,c.width,"width","pixelWidth"),a=tn_.style.getIePixelValue_(a,c.height,"height","pixelHeight"),new tn_.math.Size(b,a);c=tn_.style.getBorderBoxSize(a);b=tn_.style.getPaddingBox(a);a=tn_.style.getBorderBox(a);return new tn_.math.Size(c.width-a.left-b.left-b.right-
a.right,c.height-a.top-b.top-b.bottom-a.bottom)};
tn_.style.setContentBoxSize=function(a,b){var c=tn_.dom.getOwnerDocument(a),d=tn_.dom.getDomHelper(c).isCss1CompatMode();!tn_.userAgent.IE||tn_.userAgent.isVersionOrHigher("10")||d&&tn_.userAgent.isVersionOrHigher("8")?tn_.style.setBoxSizingSize_(a,b,"content-box"):(c=a.style,d?(c.pixelWidth=b.width,c.pixelHeight=b.height):(d=tn_.style.getPaddingBox(a),a=tn_.style.getBorderBox(a),c.pixelWidth=b.width+a.left+d.left+d.right+a.right,c.pixelHeight=b.height+a.top+d.top+d.bottom+a.bottom))};
tn_.style.setBoxSizingSize_=function(a,b,c){a=a.style;tn_.userAgent.GECKO?a.MozBoxSizing=c:tn_.userAgent.WEBKIT?a.WebkitBoxSizing=c:a.boxSizing=c;a.width=Math.max(b.width,0)+"px";a.height=Math.max(b.height,0)+"px"};tn_.style.getIePixelValue_=function(a,b,c,d){if(/^\d+px?$/.test(b))return parseInt(b,10);var e=a.style[c],f=a.runtimeStyle[c];a.runtimeStyle[c]=a.currentStyle[c];a.style[c]=b;b=a.style[d];a.style[c]=e;a.runtimeStyle[c]=f;return+b};
tn_.style.getIePixelDistance_=function(a,b){return(b=tn_.style.getCascadedStyle(a,b))?tn_.style.getIePixelValue_(a,b,"left","pixelLeft"):0};
tn_.style.getBox_=function(a,b){if(tn_.userAgent.IE){var c=tn_.style.getIePixelDistance_(a,b+"Left"),d=tn_.style.getIePixelDistance_(a,b+"Right"),e=tn_.style.getIePixelDistance_(a,b+"Top");a=tn_.style.getIePixelDistance_(a,b+"Bottom");return new tn_.math.Box(e,d,a,c)}c=tn_.style.getComputedStyle(a,b+"Left");d=tn_.style.getComputedStyle(a,b+"Right");e=tn_.style.getComputedStyle(a,b+"Top");a=tn_.style.getComputedStyle(a,b+"Bottom");return new tn_.math.Box(parseFloat(e),parseFloat(d),parseFloat(a),parseFloat(c))};
tn_.style.getPaddingBox=function(a){return tn_.style.getBox_(a,"padding")};tn_.style.getMarginBox=function(a){return tn_.style.getBox_(a,"margin")};tn_.style.ieBorderWidthKeywords_={thin:2,medium:4,thick:6};tn_.style.getIePixelBorder_=function(a,b){if("none"==tn_.style.getCascadedStyle(a,b+"Style"))return 0;b=tn_.style.getCascadedStyle(a,b+"Width");return b in tn_.style.ieBorderWidthKeywords_?tn_.style.ieBorderWidthKeywords_[b]:tn_.style.getIePixelValue_(a,b,"left","pixelLeft")};
tn_.style.getBorderBox=function(a){if(tn_.userAgent.IE&&!tn_.userAgent.isDocumentModeOrHigher(9)){var b=tn_.style.getIePixelBorder_(a,"borderLeft"),c=tn_.style.getIePixelBorder_(a,"borderRight"),d=tn_.style.getIePixelBorder_(a,"borderTop");a=tn_.style.getIePixelBorder_(a,"borderBottom");return new tn_.math.Box(d,c,a,b)}b=tn_.style.getComputedStyle(a,"borderLeftWidth");c=tn_.style.getComputedStyle(a,"borderRightWidth");d=tn_.style.getComputedStyle(a,"borderTopWidth");a=tn_.style.getComputedStyle(a,
"borderBottomWidth");return new tn_.math.Box(parseFloat(d),parseFloat(c),parseFloat(a),parseFloat(b))};tn_.style.getFontFamily=function(a){var b=tn_.dom.getOwnerDocument(a),c="";if(b.body.createTextRange&&tn_.dom.contains(b,a)){b=b.body.createTextRange();b.moveToElementText(a);try{c=b.queryCommandValue("FontName")}catch(d){c=""}}c||(c=tn_.style.getStyle_(a,"fontFamily"));a=c.split(",");1<a.length&&(c=a[0]);return tn_.string.stripQuotes(c,"\"'")};tn_.style.lengthUnitRegex_=/[^\d]+$/;
tn_.style.getLengthUnits=function(a){return(a=a.match(tn_.style.lengthUnitRegex_))&&a[0]||null};tn_.style.ABSOLUTE_CSS_LENGTH_UNITS_={cm:1,"in":1,mm:1,pc:1,pt:1};tn_.style.CONVERTIBLE_RELATIVE_CSS_UNITS_={em:1,ex:1};
tn_.style.getFontSize=function(a){var b=tn_.style.getStyle_(a,"fontSize"),c=tn_.style.getLengthUnits(b);if(b&&"px"==c)return parseInt(b,10);if(tn_.userAgent.IE){if(String(c)in tn_.style.ABSOLUTE_CSS_LENGTH_UNITS_)return tn_.style.getIePixelValue_(a,b,"left","pixelLeft");if(a.parentNode&&a.parentNode.nodeType==tn_.dom.NodeType.ELEMENT&&String(c)in tn_.style.CONVERTIBLE_RELATIVE_CSS_UNITS_)return a=a.parentNode,c=tn_.style.getStyle_(a,"fontSize"),tn_.style.getIePixelValue_(a,b==c?"1em":b,"left","pixelLeft")}c=
tn_.dom.createDom(tn_.dom.TagName.SPAN,{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"});tn_.dom.appendChild(a,c);b=c.offsetHeight;tn_.dom.removeNode(c);return b};tn_.style.parseStyleAttribute=function(a){var b={};tn_e(a.split(/\s*;\s*/),function(c){var d=c.match(/\s*([\w-]+)\s*:(.+)/);d&&(c=d[1],d=tn_.string.trim(d[2]),b[tn_.string.toCamelCase(c.toLowerCase())]=d)});return b};
tn_.style.toStyleAttribute=function(a){var b=[];tn_.object.forEach(a,function(c,d){b.push(tn_.string.toSelectorCase(d),":",c,";")});return b.join("")};tn_.style.setFloat=function(a,b){a.style[tn_.userAgent.IE?"styleFloat":"cssFloat"]=b};tn_.style.getFloat=function(a){return a.style[tn_.userAgent.IE?"styleFloat":"cssFloat"]||""};
tn_.style.getScrollbarWidth=function(a){var b=tn_.dom.createElement(tn_.dom.TagName.DIV);a&&(b.className=a);b.style.cssText="overflow:auto;position:absolute;top:0;width:100px;height:100px";a=tn_.dom.createElement(tn_.dom.TagName.DIV);tn_.style.setSize(a,"200px","200px");b.appendChild(a);tn_.dom.appendChild(tn_.dom.getDocument().body,b);a=b.offsetWidth-b.clientWidth;tn_.dom.removeNode(b);return a};tn_.style.MATRIX_TRANSLATION_REGEX_=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;
tn_.style.getCssTranslation=function(a){a=tn_.style.getComputedTransform(a);return a?(a=a.match(tn_.style.MATRIX_TRANSLATION_REGEX_))?new tn_.math.Coordinate(parseFloat(a[1]),parseFloat(a[2])):new tn_.math.Coordinate(0,0):new tn_.math.Coordinate(0,0)};var tn_N={asserts:{}};tn_N.asserts.assert={};var tn_oe=tn_.dom.createElement(tn_.dom.TagName.DIV),tn_pe=new Set(["methods","CHECKED","dataFld","dataFormatAs","dataSrc"]),tn_qe=function(a,b){return a==b},tn_re=function(a,b){return a.toString()===b.toString()},tn_se={String:tn_qe,Number:tn_qe,Boolean:tn_qe,Date:function(a,b){return a.getTime()==b.getTime()},RegExp:tn_re,Function:tn_re};
function tn_te(a,b,c){var d=tn_.html.sanitizer.CssSanitizer.safeParseHtmlAndGetInertElement("<div></div>");tn_.dom.safe.setInnerHtml(tn_.asserts.assertObject(d),tn_.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(tn_.string.Const.from("Added into an inert element"),a));var e="\nExpected\n"+d.innerHTML+"\nActual\n"+b.innerHTML,f=tn_.iter.filter(tn_.iter.map(new tn_.dom.TagIterator(b),tn_ue),tn_ve);a=tn_.iter.filter(new tn_.dom.NodeIterator(d),tn_ve);var g,l=!1,n=function(){l||
(g=tn_.iter.nextOrValue(f,null));for(l=!1;g==tn_oe||g&&g.nodeType==Node.COMMENT_NODE;)g=tn_.iter.nextOrValue(f,null)},k=tn_.userAgent.IE&&!tn_.userAgent.isVersionOrHigher("9"),h=!0,m=0;tn_.iter.forEach(a,function(p){if(p.nodeType!=Node.COMMENT_NODE&&(n(),tn_.asserts.assert(g,"Finished actual HTML before finishing expected HTML at node number "+m+": "+tn_we(p)+e),p!=d)){tn_xe("Should have the same node type, got "+tn_we(g)+" but expected "+tn_we(p)+"."+e,p.nodeType,g.nodeType);if(p.nodeType==tn_.dom.NodeType.ELEMENT){p=
tn_.asserts.assertElement(p);var q=tn_.asserts.assertElement(g);tn_xe("Tag names should match"+e,p.tagName,q.tagName);tn_ye("Should have same styles"+e,tn_.style.parseStyleAttribute(p.style.cssText),tn_.style.parseStyleAttribute(q.style.cssText));var t=e,r=p,u=q,v=!!c;if(v){var z=u,w=tn_.dom.classlist.get(r);w=tn_h(w);w.sort();var A=tn_h(tn_.dom.classlist.get(z));A.sort();tn_ze("Expected class was: "+w.join(" ")+", but actual class was: "+z.className+" in node "+tn_we(z),w,A)}z=r.attributes;w=u.attributes;
A=0;for(var G=z.length;A<G;A++){var y=z[A].name,x=tn_Ae(r,y),B=w[y],C=tn_Ae(u,y);if(x||C)"id"==y&&tn_.userAgent.IE?(y=x,x=t,""===y?v&&tn_Be("Unexpected attribute with name id in element "+x,""==B.value):(tn_.asserts.assert(B,"Expected to find attribute with name id, in element "+x),tn_.asserts.assert(""!==B.value,"Expected to find attribute with name id, in element "+x),tn_xe("Expected attribute has a different value "+x,y,B.value))):tn_Ce(y)||(tn_.asserts.assert(B,"Expected to find attribute with name "+
y+", in element "+tn_we(u)+t),tn_.asserts.assert(String(x)===String(tn_Ae(u,B.name)),"Expected attribute "+y+" has a different value "+t))}if(v)for(A=0;A<w.length;A++)r=w[A].name,(B=w.getNamedItem(r))&&!tn_Ce(r)&&tn_.asserts.assert(z[r],"Unexpected attribute with name "+r+" in element "+tn_we(u)+t);k&&"inline"!=tn_.style.getCascadedStyle(q,"display")&&(h=!0);"template"==q.tagName.toLowerCase()&&q.content&&(p=p.innerHTML,q=q.innerHTML,t=c,u=tn_.dom.createDom(tn_.dom.TagName.DIV),tn_.dom.safe.setInnerHtml(u,
tn_.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(tn_.string.Const.from("The element is never inserted into DOM"),q)),tn_te(p,u,t))}else{q=g.nodeValue;for(l=!0;(g=tn_.iter.nextOrValue(f,null))&&g.nodeType==tn_.dom.NodeType.TEXT;)q+=g.nodeValue;k&&(h&&!tn_.string.isEmptyOrWhitespace(q)&&(q=tn_.string.trimLeft(q)),h=/\s$/.test(q));p=p.nodeValue;if(q&&!tn_.string.isBreakingWhitespace(q)||p&&!tn_.string.isBreakingWhitespace(p))q=q.replace(/\s+/g," "),p=p.replace(/\s+/g," "),tn_.asserts.assert(p===
q,"Text should match"+e)}m++}});n();tn_.asserts.assert(null===tn_.iter.nextOrValue(f,null),"Finished expected HTML before finishing actual HTML"+e)}function tn_we(a){if(a.nodeType==tn_.dom.NodeType.TEXT)return"[Text: "+a.nodeValue+"]";var b=a instanceof Element?a.id:void 0;return"<"+a.nodeName+(b?" #"+b:"")+" .../>"}function tn_ue(a,b,c){return c.isEndTag()?tn_oe:a}
function tn_ve(a){return a.nodeType!=tn_.dom.NodeType.TEXT||!tn_.string.isBreakingWhitespace(a.nodeValue)||a.previousSibling&&a.previousSibling.nodeType==tn_.dom.NodeType.TEXT||a.nextSibling&&a.nextSibling.nodeType==tn_.dom.NodeType.TEXT?!0:!1}
function tn_Ae(a,b){return tn_.userAgent.WEBKIT&&a.tagName==tn_.dom.TagName.INPUT&&a.type==tn_.dom.InputType.RADIO&&"checked"==b?!1:(tn_.userAgent.IE||tn_.userAgent.EDGE)&&"src"==b?a.getAttribute(b):void 0!==a[b]&&typeof a.getAttribute(b)!=typeof a[b]?a[b]:a.getAttribute(b)}function tn_Ce(a){return"style"==a||"class"==a?!0:tn_.userAgent.IE&&tn_pe.has(a)}function tn_xe(a,b,c){var d=tn_De(1,2,arguments),e=tn_De(2,2,arguments);tn_.asserts.assert(d===e,tn_Ee(2,arguments))}
function tn_De(a,b,c){return c.length==b+1?c[a]:c[a-1]}function tn_Ee(a,b){return b.length==a+1?b[0]:null}function tn_Be(a,b){var c=tn_De(1,1,arguments);tn_.asserts.assert("boolean"===typeof c);tn_.asserts.assert(c,"Call to assertTrue(boolean) with false")}
function tn_ze(a,b,c){var d=tn_De(1,2,arguments),e=tn_De(2,2,arguments),f=tn_Ee(2,arguments)?tn_Ee(2,arguments):"",g=tn_Fe(d);tn_.asserts.assert("Array"==g,"Expected an array for assertArrayEquals but found a "+g);g=tn_Fe(e);tn_.asserts.assert("Array"==g,"Expected an array for assertArrayEquals but found a "+g);tn_ye(f,Array.prototype.concat.call(d),Array.prototype.concat.call(e))}
function tn_ye(a,b,c){var d=tn_De(1,2,arguments),e=tn_De(2,2,arguments);d=tn_Ge(d,e);tn_.asserts.assert(!d,d+(tn_Ee(2,arguments)?tn_Ee(2,arguments):""))}
function tn_Ge(a,b,c){function d(k,h,m){for(var p=0;p<g.length;++p){var q=g[p]===k,t=l[p]===h;if(q||t){q&&t||f.push("Asymmetric cycle detected at "+m);return}}g.push(k);l.push(h);e(k,h,m);g.pop();l.pop()}function e(k,h,m){if(k!==h){var p=tn_Fe(k),q=tn_Fe(h);if(p==q){var t="Array"==p,r=n(p,k,h);if(null!=r)""!=r&&f.push(m+": "+r);else if(t&&k.length!=h.length)f.push(m+": Expected "+k.length+"-element array but got a "+h.length+"-element array");else if("String"==p)k!=h&&f.push(m+': Expected String "'+
k+'" but got "'+h+'"');else{var u=m+(t?"[%s]":m?".%s":"%s");if("undefined"!=typeof Map&&k instanceof Map||"undefined"!=typeof Set&&k instanceof Set)k.forEach(function(z,w){h.has(w)?h.get&&d(z,h.get(w),u.replace("%s",w)):f.push(w+" not present in actual "+(m||q))}),h.forEach(function(z,w){k.has(w)||f.push(w+" not present in expected "+(m||p))});else if(k.__iterator__)"function"===typeof k.equals?k.equals(h)||f.push("equals() returned false for "+(m||p)):k.map_?d(k.map_,h.map_,u.replace("%s","map_")):
f.push("unable to check "+(m||p)+" for equality: it has an iterator we do not know how to handle. please add an equals method");else{for(var v in k)if(!t||isNaN(v))v in h?d(k[v],h[v],u.replace("%s",v)):f.push("property "+v+" not present in actual "+(m||q));for(v in h)if(!t||isNaN(v))v in k||f.push("property "+v+" not present in expected "+(m||p));if(t)for(v=0;v<k.length;v++)d(k[v],h[v],u.replace("%s",String(v)))}}}else f.push(m)}}var f=[],g=[],l=[],n=c||function(k,h,m){k=tn_se[k];if(!k)return null;
h=(k=k(h,m))?"":"string"==typeof h&&"string"==typeof m?h+" does not equal to "+m:"Expected object does not match actual";return h};d(a,b,"");return f.join("\n   ")}
function tn_Fe(a){var b=typeof a;try{switch(b){case "object":if(null==a){b="null";break}case "function":switch(a.constructor){case (new String("")).constructor:b="String";break;case (new Boolean(!0)).constructor:b="Boolean";break;case (new Number(0)).constructor:b="Number";break;case [].constructor:b="Array";break;case RegExp().constructor:b="RegExp";break;case (new Date).constructor:b="Date";break;case Function:b="Function";break;default:var c=a.constructor.toString().match(/function\s*([^( ]+)\(/);
c&&(b=c[1])}}}catch(d){}finally{b=b.substr(0,1).toUpperCase()+b.substr(1)}return b}tn_N.asserts.assert.assertHtmlContentsMatch=tn_te;tn_.html.sanitizer.AttributeWhitelist={"* ARIA-CHECKED":!0,"* ARIA-COLCOUNT":!0,"* ARIA-COLINDEX":!0,"* ARIA-CONTROLS":!0,"* ARIA-DESCRIBEDBY":!0,"* ARIA-DISABLED":!0,"* ARIA-EXPANDED":!0,"* ARIA-GOOG-EDITABLE":!0,"* ARIA-HASPOPUP":!0,"* ARIA-HIDDEN":!0,"* ARIA-LABEL":!0,"* ARIA-LABELLEDBY":!0,"* ARIA-MULTILINE":!0,"* ARIA-MULTISELECTABLE":!0,"* ARIA-ORIENTATION":!0,"* ARIA-PLACEHOLDER":!0,"* ARIA-READONLY":!0,"* ARIA-REQUIRED":!0,"* ARIA-ROLEDESCRIPTION":!0,"* ARIA-ROWCOUNT":!0,"* ARIA-ROWINDEX":!0,
"* ARIA-SELECTED":!0,"* ABBR":!0,"* ACCEPT":!0,"* ACCESSKEY":!0,"* ALIGN":!0,"* ALT":!0,"* AUTOCOMPLETE":!0,"* AXIS":!0,"* BGCOLOR":!0,"* BORDER":!0,"* CELLPADDING":!0,"* CELLSPACING":!0,"* CHAROFF":!0,"* CHAR":!0,"* CHECKED":!0,"* CLEAR":!0,"* COLOR":!0,"* COLSPAN":!0,"* COLS":!0,"* COMPACT":!0,"* COORDS":!0,"* DATETIME":!0,"* DIR":!0,"* DISABLED":!0,"* ENCTYPE":!0,"* FACE":!0,"* FRAME":!0,"* HEIGHT":!0,"* HREFLANG":!0,"* HSPACE":!0,"* ISMAP":!0,"* LABEL":!0,"* LANG":!0,"* MAX":!0,"* MAXLENGTH":!0,
"* METHOD":!0,"* MULTIPLE":!0,"* NOHREF":!0,"* NOSHADE":!0,"* NOWRAP":!0,"* OPEN":!0,"* READONLY":!0,"* REQUIRED":!0,"* REL":!0,"* REV":!0,"* ROLE":!0,"* ROWSPAN":!0,"* ROWS":!0,"* RULES":!0,"* SCOPE":!0,"* SELECTED":!0,"* SHAPE":!0,"* SIZE":!0,"* SPAN":!0,"* START":!0,"* SUMMARY":!0,"* TABINDEX":!0,"* TITLE":!0,"* TYPE":!0,"* VALIGN":!0,"* VALUE":!0,"* VSPACE":!0,"* WIDTH":!0};
tn_.html.sanitizer.AttributeSanitizedWhitelist={"* USEMAP":!0,"* ACTION":!0,"* CITE":!0,"* HREF":!0,"* LONGDESC":!0,"* SRC":!0,"LINK HREF":!0,"* FOR":!0,"* HEADERS":!0,"* NAME":!0,"A TARGET":!0,"* CLASS":!0,"* ID":!0,"* STYLE":!0};var tn_He="undefined"!=typeof WeakMap&&-1!=WeakMap.toString().indexOf("[native code]"),tn_Ie=0,tn_Je=function(){this.keys_=[];this.values_=[];this.dataAttributeName_="data-elementweakmap-index-"+tn_Ie++};tn_Je.prototype.set=function(a,b){if(tn_6d(a,this.dataAttributeName_)){var c=parseInt(tn_7d(a,this.dataAttributeName_),10);this.values_[c]=b}else c=this.values_.push(b)-1,tn_8d(a,this.dataAttributeName_,c.toString()),this.keys_.push(a);return this};
tn_Je.prototype.get=function(a){if(tn_6d(a,this.dataAttributeName_))return a=parseInt(tn_7d(a,this.dataAttributeName_),10),this.values_[a]};tn_Je.prototype.clear=function(){this.keys_.forEach(function(a){tn_9d(a,this.dataAttributeName_)},this);this.keys_=[];this.values_=[]};tn_Je.newWeakMap=function(){return tn_He?new WeakMap:new tn_Je};tn_.html.sanitizer.ElementWeakMap=tn_Je;tn_.debug.errorcontext={};tn_.debug.errorcontext.addErrorContext=function(a,b,c){a[tn_.debug.errorcontext.CONTEXT_KEY_]||(a[tn_.debug.errorcontext.CONTEXT_KEY_]={});a[tn_.debug.errorcontext.CONTEXT_KEY_][b]=c};tn_.debug.errorcontext.getErrorContext=function(a){return a[tn_.debug.errorcontext.CONTEXT_KEY_]||{}};tn_.debug.errorcontext.CONTEXT_KEY_="__closure__error__context__984382";tn_.debug.LOGGING_ENABLED=tn_.DEBUG;tn_.debug.FORCE_SLOPPY_STACKS=!1;tn_.debug.CHECK_FOR_THROWN_EVENT=!1;tn_.debug.catchErrors=function(a,b,c){c=c||tn_.global;var d=c.onerror,e=!!b;tn_.userAgent.WEBKIT&&!tn_.userAgent.isVersionOrHigher("535.3")&&(e=!e);c.onerror=function(f,g,l,n,k){d&&d(f,g,l,n,k);a({message:f,fileName:g,line:l,lineNumber:l,col:n,error:k});return e}};
tn_.debug.expose=function(a,b){if("undefined"==typeof a)return"undefined";if(null==a)return"NULL";var c=[],d;for(d in a)if(b||"function"!==typeof a[d]){var e=d+" = ";try{e+=a[d]}catch(f){e+="*** "+f+" ***"}c.push(e)}return c.join("\n")};
tn_.debug.deepExpose=function(a,b){var c=[],d=[],e={},f=function(g,l){var n=l+"  ";try{if(void 0===g)c.push("undefined");else if(null===g)c.push("NULL");else if("string"===typeof g)c.push('"'+g.replace(/\n/g,"\n"+l)+'"');else if("function"===typeof g)c.push(String(g).replace(/\n/g,"\n"+l));else if(tn_.isObject(g)){tn_.hasUid(g)||d.push(g);var k=tn_.getUid(g);if(e[k])c.push("*** reference loop detected (id="+k+") ***");else{e[k]=!0;c.push("{");for(var h in g)if(b||"function"!==typeof g[h])c.push("\n"),
c.push(n),c.push(h+" = "),f(g[h],n);c.push("\n"+l+"}");delete e[k]}}else c.push(g)}catch(m){c.push("*** "+m+" ***")}};f(a,"");for(a=0;a<d.length;a++)tn_.removeUid(d[a]);return c.join("")};tn_.debug.exposeArray=function(a){for(var b=[],c=0;c<a.length;c++)Array.isArray(a[c])?b.push(tn_.debug.exposeArray(a[c])):b.push(a[c]);return"[ "+b.join(", ")+" ]"};
tn_.debug.normalizeErrorObject=function(a){var b=tn_.getObjectByName("window.location.href");null==a&&(a='Unknown Error of type "null/undefined"');if("string"===typeof a)return{message:a,name:"Unknown error",lineNumber:"Not available",fileName:b,stack:"Not available"};var c=!1;try{var d=a.lineNumber||a.line||"Not available"}catch(g){d="Not available",c=!0}try{var e=a.fileName||a.filename||a.sourceURL||tn_.global.$googDebugFname||b}catch(g){e="Not available",c=!0}b=tn_.debug.serializeErrorStack_(a);
if(!(!c&&a.lineNumber&&a.fileName&&a.stack&&a.message&&a.name)){c=a.message;if(null==c){if(a.constructor&&a.constructor instanceof Function){var f=a.constructor.name?a.constructor.name:tn_.debug.getFunctionName(a.constructor);c='Unknown Error of type "'+f+'"';if(tn_.debug.CHECK_FOR_THROWN_EVENT&&"Event"==f)try{c=c+' with Event.type "'+(a.type||"")+'"'}catch(g){}}else c="Unknown Error of unknown type";"function"===typeof a.toString&&Object.prototype.toString!==a.toString&&(c+=": "+a.toString())}return{message:c,
name:a.name||"UnknownError",lineNumber:d,fileName:e,stack:b||"Not available"}}a.stack=b;return a};tn_.debug.serializeErrorStack_=function(a,b){b||(b={});b[tn_.debug.serializeErrorAsKey_(a)]=!0;var c=a.stack||"";(a=a.cause)&&!b[tn_.debug.serializeErrorAsKey_(a)]&&(c+="\nCaused by: ",a.stack&&0==a.stack.indexOf(a.toString())||(c+="string"===typeof a?a:a.message+"\n"),c+=tn_.debug.serializeErrorStack_(a,b));return c};
tn_.debug.serializeErrorAsKey_=function(a){var b="";"function"===typeof a.toString&&(b=""+a);return b+a.stack};tn_.debug.enhanceError=function(a,b){a instanceof Error||(a=Error(a),Error.captureStackTrace&&Error.captureStackTrace(a,tn_.debug.enhanceError));a.stack||(a.stack=tn_.debug.getStacktrace(tn_.debug.enhanceError));if(b){for(var c=0;a["message"+c];)++c;a["message"+c]=String(b)}return a};
tn_.debug.enhanceErrorWithContext=function(a,b){a=tn_.debug.enhanceError(a);if(b)for(var c in b)tn_.debug.errorcontext.addErrorContext(a,c,b[c]);return a};
tn_.debug.getStacktraceSimple=function(a){if(!tn_.debug.FORCE_SLOPPY_STACKS){var b=tn_.debug.getNativeStackTrace_(tn_.debug.getStacktraceSimple);if(b)return b}b=[];for(var c=arguments.callee.caller,d=0;c&&(!a||d<a);){b.push(tn_.debug.getFunctionName(c));b.push("()\n");try{c=c.caller}catch(e){b.push("[exception trying to get caller]\n");break}d++;if(d>=tn_.debug.MAX_STACK_DEPTH){b.push("[...long stack...]");break}}a&&d>=a?b.push("[...reached max depth limit...]"):b.push("[end]");return b.join("")};
tn_.debug.MAX_STACK_DEPTH=50;tn_.debug.getNativeStackTrace_=function(a){var b=Error();if(Error.captureStackTrace)return Error.captureStackTrace(b,a),String(b.stack);try{throw b;}catch(c){b=c}return(a=b.stack)?String(a):null};tn_.debug.getStacktrace=function(a){if(!tn_.debug.FORCE_SLOPPY_STACKS){var b=a||tn_.debug.getStacktrace;b=tn_.debug.getNativeStackTrace_(b)}b||(b=tn_.debug.getStacktraceHelper_(a||arguments.callee.caller,[]));return b};
tn_.debug.getStacktraceHelper_=function(a,b){var c=[];if(tn_g(b,a))c.push("[...circular reference...]");else if(a&&b.length<tn_.debug.MAX_STACK_DEPTH){c.push(tn_.debug.getFunctionName(a)+"(");for(var d=a.arguments,e=0;d&&e<d.length;e++){0<e&&c.push(", ");var f=d[e];switch(typeof f){case "object":f=f?"object":"null";break;case "string":break;case "number":f=String(f);break;case "boolean":f=f?"true":"false";break;case "function":f=(f=tn_.debug.getFunctionName(f))?f:"[fn]";break;default:f=typeof f}40<
f.length&&(f=f.substr(0,40)+"...");c.push(f)}b.push(a);c.push(")\n");try{c.push(tn_.debug.getStacktraceHelper_(a.caller,b))}catch(g){c.push("[exception trying to get caller]\n")}}else a?c.push("[...long stack...]"):c.push("[end]");return c.join("")};tn_.debug.getFunctionName=function(a){if(tn_.debug.fnNameCache_[a])return tn_.debug.fnNameCache_[a];a=String(a);if(!tn_.debug.fnNameCache_[a]){var b=/function\s+([^\(]+)/m.exec(a);b?(b=b[1],tn_.debug.fnNameCache_[a]=b):tn_.debug.fnNameCache_[a]="[Anonymous]"}return tn_.debug.fnNameCache_[a]};
tn_.debug.makeWhitespaceVisible=function(a){return a.replace(/ /g,"[_]").replace(/\f/g,"[f]").replace(/\n/g,"[n]\n").replace(/\r/g,"[r]").replace(/\t/g,"[t]")};tn_.debug.runtimeType=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};tn_.debug.fnNameCache_={};tn_.debug.freezeInternal_=tn_.DEBUG&&Object.freeze||function(a){return a};
tn_.debug.freeze=function(a){return tn_.debug.freezeInternal_(a)};tn_.log={};tn_.log.ENABLED=tn_.debug.LOGGING_ENABLED;tn_.log.ROOT_LOGGER_NAME="";var tn_Ke=function(a,b){this.name=a;this.value=b};tn_Ke.prototype.toString=function(){return this.name};tn_.log.Level=tn_Ke;tn_.log.Level.OFF=new tn_.log.Level("OFF",Infinity);tn_.log.Level.SHOUT=new tn_.log.Level("SHOUT",1200);tn_.log.Level.SEVERE=new tn_.log.Level("SEVERE",1E3);tn_.log.Level.WARNING=new tn_.log.Level("WARNING",900);tn_.log.Level.INFO=new tn_.log.Level("INFO",800);
tn_.log.Level.CONFIG=new tn_.log.Level("CONFIG",700);tn_.log.Level.FINE=new tn_.log.Level("FINE",500);tn_.log.Level.FINER=new tn_.log.Level("FINER",400);tn_.log.Level.FINEST=new tn_.log.Level("FINEST",300);tn_.log.Level.ALL=new tn_.log.Level("ALL",0);tn_.log.Level.PREDEFINED_LEVELS=[tn_.log.Level.OFF,tn_.log.Level.SHOUT,tn_.log.Level.SEVERE,tn_.log.Level.WARNING,tn_.log.Level.INFO,tn_.log.Level.CONFIG,tn_.log.Level.FINE,tn_.log.Level.FINER,tn_.log.Level.FINEST,tn_.log.Level.ALL];
tn_.log.Level.predefinedLevelsCache_=null;tn_.log.Level.createPredefinedLevelsCache_=function(){tn_.log.Level.predefinedLevelsCache_={};for(var a=0,b;b=tn_.log.Level.PREDEFINED_LEVELS[a];a++)tn_.log.Level.predefinedLevelsCache_[b.value]=b,tn_.log.Level.predefinedLevelsCache_[b.name]=b};tn_.log.Level.getPredefinedLevel=function(a){tn_.log.Level.predefinedLevelsCache_||tn_.log.Level.createPredefinedLevelsCache_();return tn_.log.Level.predefinedLevelsCache_[a]||null};
tn_.log.Level.getPredefinedLevelByValue=function(a){tn_.log.Level.predefinedLevelsCache_||tn_.log.Level.createPredefinedLevelsCache_();if(a in tn_.log.Level.predefinedLevelsCache_)return tn_.log.Level.predefinedLevelsCache_[a];for(var b=0;b<tn_.log.Level.PREDEFINED_LEVELS.length;++b){var c=tn_.log.Level.PREDEFINED_LEVELS[b];if(c.value<=a)return c}return null};var tn_Le=function(){};tn_Le.prototype.getName=function(){};tn_.log.Logger=tn_Le;tn_.log.Logger.Level=tn_.log.Level;
var tn_Me=function(a){this.capacity_="number"===typeof a?a:tn_.log.LogBuffer.CAPACITY;this.clear()};tn_Me.prototype.addRecord=function(a,b,c){if(!this.isBufferingEnabled())return new tn_.log.LogRecord(a,b,c);var d=(this.curIndex_+1)%this.capacity_;this.curIndex_=d;if(this.isFull_)return d=this.buffer_[d],d.reset(a,b,c),d;this.isFull_=d==this.capacity_-1;return this.buffer_[d]=new tn_.log.LogRecord(a,b,c)};tn_Me.prototype.isBufferingEnabled=function(){return 0<this.capacity_};
tn_Me.prototype.clear=function(){this.buffer_=Array(this.capacity_);this.curIndex_=-1;this.isFull_=!1};tn_.log.LogBuffer=tn_Me;tn_.log.LogBuffer.CAPACITY=0;tn_.log.LogBuffer.getInstance=function(){tn_.log.LogBuffer.instance_||(tn_.log.LogBuffer.instance_=new tn_.log.LogBuffer(tn_.log.LogBuffer.CAPACITY));return tn_.log.LogBuffer.instance_};tn_.log.LogBuffer.isBufferingEnabled=function(){return tn_.log.LogBuffer.getInstance().isBufferingEnabled()};
var tn_Ne=function(a,b,c,d,e){this.reset(a||tn_.log.Level.OFF,b,c,d,e)};tn_Ne.prototype.reset=function(a){this.level_=a};tn_Ne.prototype.getLevel=function(){return this.level_};tn_Ne.prototype.setLevel=function(a){this.level_=a};tn_.log.LogRecord=tn_Ne;tn_.log.LogRecord.nextSequenceNumber_=0;var tn_Oe=function(a,b){b=void 0===b?null:b;this.level=null;this.handlers=[];this.parent=b||null;this.children=[];this.logger={getName:function(){return a}}};
tn_Oe.prototype.getEffectiveLevel=function(){if(this.level)return this.level;if(this.parent)return this.parent.getEffectiveLevel();tn_.asserts.fail("Root logger has no level set.");return tn_.log.Level.OFF};tn_Oe.prototype.publish=function(a){for(var b=this;b;)b.handlers.forEach(function(c){c(a)}),b=b.parent};tn_.log.LogRegistryEntry=tn_Oe;
var tn_Pe=function(){this.entries={};var a=new tn_.log.LogRegistryEntry(tn_.log.ROOT_LOGGER_NAME);a.level=tn_.log.Level.CONFIG;this.entries[tn_.log.ROOT_LOGGER_NAME]=a};tn_Pe.prototype.getLogRegistryEntry=function(a,b){var c=this.entries[a];if(c)return void 0!==b&&(c.level=b),c;c=a.lastIndexOf(".");c=a.substr(0,c);c=this.getLogRegistryEntry(c);var d=new tn_.log.LogRegistryEntry(a,c);this.entries[a]=d;c.children.push(d);void 0!==b&&(d.level=b);return d};tn_.log.LogRegistry=tn_Pe;
tn_.log.LogRegistry.getInstance=function(){tn_.log.LogRegistry.instance_||(tn_.log.LogRegistry.instance_=new tn_.log.LogRegistry);return tn_.log.LogRegistry.instance_};tn_.log.getLogger=function(a,b){return tn_.log.ENABLED?(a=tn_.log.LogRegistry.getInstance().getLogRegistryEntry(a,b),a.logger):null};tn_.log.getRootLogger=function(){if(tn_.log.ENABLED){var a=tn_.log.LogRegistry.getInstance().getLogRegistryEntry(tn_.log.ROOT_LOGGER_NAME);return a.logger}return null};
tn_.log.addHandler=function(a,b){tn_.log.ENABLED&&a&&(a=tn_.log.LogRegistry.getInstance().getLogRegistryEntry(a.getName()),a.handlers.push(b))};tn_.log.removeHandler=function(a,b){return tn_.log.ENABLED&&a&&(a=tn_.log.LogRegistry.getInstance().getLogRegistryEntry(a.getName()),b=a.handlers.indexOf(b),-1!==b)?(a.handlers.splice(b,1),!0):!1};tn_.log.setLevel=function(a,b){tn_.log.ENABLED&&a&&(a=tn_.log.LogRegistry.getInstance().getLogRegistryEntry(a.getName()),a.level=b)};
tn_.log.getLevel=function(a){return tn_.log.ENABLED&&a?(a=tn_.log.LogRegistry.getInstance().getLogRegistryEntry(a.getName()),a.level):null};tn_.log.getEffectiveLevel=function(a){return tn_.log.ENABLED&&a?(a=tn_.log.LogRegistry.getInstance().getLogRegistryEntry(a.getName()),a.getEffectiveLevel()):tn_.log.Level.OFF};tn_.log.isLoggable=function(a,b){return tn_.log.ENABLED&&a&&b?b.value>=tn_.log.getEffectiveLevel(a).value:!1};
tn_.log.getLogRecord=function(a,b,c){return a=tn_.log.LogBuffer.getInstance().addRecord(b||tn_.log.Level.OFF,c,a.getName())};tn_.log.publishLogRecord=function(a,b){tn_.log.ENABLED&&a&&tn_.log.isLoggable(a,b.getLevel())&&(a=tn_.log.LogRegistry.getInstance().getLogRegistryEntry(a.getName()),a.publish(b))};
tn_.log.log=function(a,b,c){if(tn_.log.ENABLED&&a&&tn_.log.isLoggable(a,b)){b=b||tn_.log.Level.OFF;var d=tn_.log.LogRegistry.getInstance().getLogRegistryEntry(a.getName());"function"===typeof c&&(c=c());a=tn_.log.LogBuffer.getInstance().addRecord(b,c,a.getName());d.publish(a)}};tn_.log.error=function(a,b,c){tn_.log.ENABLED&&a&&tn_.log.log(a,tn_.log.Level.SEVERE,b,c)};tn_.log.warning=function(a,b,c){tn_.log.ENABLED&&a&&tn_.log.log(a,tn_.log.Level.WARNING,b,c)};
tn_.log.info=function(a,b,c){tn_.log.ENABLED&&a&&tn_.log.log(a,tn_.log.Level.INFO,b,c)};tn_.log.fine=function(a,b,c){tn_.log.ENABLED&&a&&tn_.log.log(a,tn_.log.Level.FINE,b,c)};var tn_Qe=tn_.log.getLogger("goog.html.sanitizer.SafeDomTreeProcessor"),tn_Re=!tn_.userAgent.IE||tn_.userAgent.isDocumentModeOrHigher(10),tn_Se=!tn_.userAgent.IE||null==document.documentMode,tn_Te=function(){};tn_a=tn_Te.prototype;tn_a.processToString=function(a){if(!tn_Re)return"";a=this.processToTree(a);if(0<tn_5d(a).length){var b=tn_.dom.createElement(tn_.dom.TagName.SPAN);b.appendChild(a);a=b}a=(new XMLSerializer).serializeToString(a);return a.slice(a.indexOf(">")+1,a.lastIndexOf("</"))};
tn_a.processToTree=function(a){if(!tn_Re)return tn_.dom.createElement(tn_.dom.TagName.SPAN);var b=tn_.dom.createElement(tn_.dom.TagName.SPAN);this.processRoot(b);a=this.preProcessHtml(a);a=tn_.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(tn_.string.Const.from("Never attached to DOM."),a);var c=document.createElement("template");if(tn_Se&&"content"in c)tn_.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(c,a),c=c.content;else{var d=document.implementation.createHTMLDocument("x");
c=d.body;tn_.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(d.body,a)}a=document.createTreeWalker(c,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,null,!1);c=tn_Je.newWeakMap();for(var e;e=a.nextNode();)if(d=this.createNode_(e)){tn_ge(d)&&c.set(e,d);e=tn_je(e);var f=!1;if(e){var g=tn_he(e),l=tn_ie(e).toLowerCase(),n=tn_je(e);g!=tn_.dom.NodeType.DOCUMENT_FRAGMENT||n?"body"==l&&n&&(g=tn_je(n))&&!tn_je(g)&&(f=!0):f=!0;g=null;f||!e?g=b:tn_ge(e)&&(g=c.get(e));g.content&&(g=g.content);g.appendChild(d)}}else tn_.dom.removeChildren(e);
c.clear&&c.clear();return b};tn_a.createNode_=function(a){var b=tn_he(a);switch(b){case tn_.dom.NodeType.TEXT:return this.createTextNode(a);case tn_.dom.NodeType.ELEMENT:return this.createElement_(tn_fe(a));default:return tn_.log.warning(tn_Qe,"Dropping unknown node type: "+b),null}};tn_a.createElement_=function(a){if("TEMPLATE"==tn_ie(a).toUpperCase())return null;var b=this.createElementWithoutAttributes(a);if(!b)return null;this.processElementAttributes_(a,b);return b};
tn_a.processElementAttributes_=function(a,b){var c=tn_5d(a);if(null!=c)for(var d=0,e;e=c[d];d++)if(e.specified){var f=this.processElementAttribute(a,e);null!==f&&tn_8d(b,e.name,f)}};tn_.html.sanitizer.SafeDomTreeProcessor=tn_Te;tn_.html.sanitizer.TagBlacklist={APPLET:!0,AUDIO:!0,BASE:!0,BGSOUND:!0,EMBED:!0,FORM:!0,IFRAME:!0,ISINDEX:!0,KEYGEN:!0,LAYER:!0,LINK:!0,META:!0,OBJECT:!0,SCRIPT:!0,SVG:!0,STYLE:!0,TEMPLATE:!0,VIDEO:!0};tn_.html.sanitizer.TagWhitelist={A:!0,ABBR:!0,ACRONYM:!0,ADDRESS:!0,AREA:!0,ARTICLE:!0,ASIDE:!0,B:!0,BDI:!0,BDO:!0,BIG:!0,BLOCKQUOTE:!0,BR:!0,BUTTON:!0,CAPTION:!0,CENTER:!0,CITE:!0,CODE:!0,COL:!0,COLGROUP:!0,DATA:!0,DATALIST:!0,DD:!0,DEL:!0,DETAILS:!0,DFN:!0,DIALOG:!0,DIR:!0,DIV:!0,DL:!0,DT:!0,EM:!0,FIELDSET:!0,FIGCAPTION:!0,FIGURE:!0,FONT:!0,FOOTER:!0,FORM:!0,H1:!0,H2:!0,H3:!0,H4:!0,H5:!0,H6:!0,HEADER:!0,HGROUP:!0,HR:!0,I:!0,IMG:!0,INPUT:!0,INS:!0,KBD:!0,LABEL:!0,LEGEND:!0,LI:!0,MAIN:!0,MAP:!0,MARK:!0,
MENU:!0,METER:!0,NAV:!0,NOSCRIPT:!0,OL:!0,OPTGROUP:!0,OPTION:!0,OUTPUT:!0,P:!0,PRE:!0,PROGRESS:!0,Q:!0,S:!0,SAMP:!0,SECTION:!0,SELECT:!0,SMALL:!0,SOURCE:!0,SPAN:!0,STRIKE:!0,STRONG:!0,STYLE:!0,SUB:!0,SUMMARY:!0,SUP:!0,TABLE:!0,TBODY:!0,TD:!0,TEXTAREA:!0,TFOOT:!0,TH:!0,THEAD:!0,TIME:!0,TR:!0,TT:!0,U:!0,UL:!0,VAR:!0,WBR:!0};tn_.html.sanitizer.HTML_SANITIZER_BOOKKEEPING_PREFIX_="data-sanitizer-";tn_.html.sanitizer.HTML_SANITIZER_SANITIZED_ATTR_NAME_=tn_.html.sanitizer.HTML_SANITIZER_BOOKKEEPING_PREFIX_+"original-tag";tn_.html.sanitizer.HTML_SANITIZER_INVALID_CUSTOM_TAGS_={"ANNOTATION-XML":!0,"COLOR-PROFILE":!0,"FONT-FACE":!0,"FONT-FACE-SRC":!0,"FONT-FACE-URI":!0,"FONT-FACE-FORMAT":!0,"FONT-FACE-NAME":!0,"MISSING-GLYPH":!0};tn_.html.sanitizer.RANDOM_CONTAINER_="*";
tn_.html.sanitizer.HtmlSanitizer=function(a){a=a||new tn_.html.sanitizer.HtmlSanitizer.Builder;a.installPolicies_();this.attributeHandlers_=tn_.object.clone(a.attributeWhitelist_);this.tagBlacklist_=tn_.object.clone(a.tagBlacklist_);this.tagWhitelist_=tn_.object.clone(a.tagWhitelist_);this.shouldAddOriginalTagNames_=a.shouldAddOriginalTagNames_;tn_e(a.dataAttributeWhitelist_,function(b){if(!tn_.string.startsWith(b,"data-"))throw new tn_.asserts.AssertionError('Only "data-" attributes allowed, got: %s.',
[b]);if(tn_.string.startsWith(b,tn_.html.sanitizer.HTML_SANITIZER_BOOKKEEPING_PREFIX_))throw new tn_.asserts.AssertionError('Attributes with "%s" prefix are not allowed, got: %s.',[tn_.html.sanitizer.HTML_SANITIZER_BOOKKEEPING_PREFIX_,b]);this.attributeHandlers_["* "+b.toUpperCase()]=tn_.html.sanitizer.HtmlSanitizer.cleanUpAttribute_},this);tn_e(a.customElementTagWhitelist_,function(b){b=b.toUpperCase();if(!tn_.string.contains(b,"-")||tn_.html.sanitizer.HTML_SANITIZER_INVALID_CUSTOM_TAGS_[b])throw new tn_.asserts.AssertionError("Only valid custom element tag names allowed, got: %s.",
[b]);this.tagWhitelist_[b]=!0},this);this.networkRequestUrlPolicy_=a.networkRequestUrlPolicy_;this.styleContainerId_=a.styleContainerId_;this.currentStyleContainerId_=null;this.inlineStyleRules_=a.inlineStyleRules_};tn_.inherits(tn_.html.sanitizer.HtmlSanitizer,tn_Te);
tn_.html.sanitizer.HtmlSanitizer.wrapUrlPolicy_=function(a){return function(b,c){b=tn_.html.sanitizer.HtmlSanitizer.cleanUpAttribute_(b);return(c=a(b,c))&&tn_.html.SafeUrl.unwrap(c)!=tn_.html.SafeUrl.INNOCUOUS_STRING?tn_.html.SafeUrl.unwrap(c):null}};
tn_.html.sanitizer.HtmlSanitizer.Builder=function(){this.attributeWhitelist_={};tn_e([tn_.html.sanitizer.AttributeWhitelist,tn_.html.sanitizer.AttributeSanitizedWhitelist],function(a){tn_e(tn_.object.getKeys(a),function(b){this.attributeWhitelist_[b]=tn_.html.sanitizer.HtmlSanitizer.cleanUpAttribute_},this)},this);this.attributeOverrideList_={};this.dataAttributeWhitelist_=[];this.customElementTagWhitelist_=[];this.tagBlacklist_=tn_.object.clone(tn_.html.sanitizer.TagBlacklist);this.tagWhitelist_=
tn_.object.clone(tn_.html.sanitizer.TagWhitelist);this.shouldAddOriginalTagNames_=!1;this.urlPolicy_=tn_.html.sanitizer.HtmlSanitizer.defaultUrlPolicy_;this.networkRequestUrlPolicy_=tn_.html.sanitizer.HtmlSanitizer.defaultNetworkRequestUrlPolicy_;this.namePolicy_=tn_.html.sanitizer.HtmlSanitizer.defaultNamePolicy_;this.tokenPolicy_=tn_.html.sanitizer.HtmlSanitizer.defaultTokenPolicy_;this.sanitizeInlineCssPolicy_=tn_.functions.NULL;this.styleContainerId_=null;this.policiesInstalled_=this.inlineStyleRules_=
!1};tn_a=tn_.html.sanitizer.HtmlSanitizer.Builder.prototype;tn_a.inlineStyleRules=function(){if(this.sanitizeInlineCssPolicy_==tn_.functions.NULL)throw Error("Inlining style rules requires allowing STYLE attributes first.");if(!("STYLE"in this.tagBlacklist_))throw Error("You have already configured the builder to allow STYLE tags in the output. Inlining style rules would prevent STYLE tags from appearing in the output and conflict with such directive.");this.inlineStyleRules_=!0;return this};
tn_a.allowCssStyles=function(){this.sanitizeInlineCssPolicy_=tn_.html.sanitizer.HtmlSanitizer.sanitizeCssDeclarationList_;return this};tn_a.withCustomNetworkRequestUrlPolicy=function(a){this.networkRequestUrlPolicy_=a;return this};tn_a.withCustomUrlPolicy=function(a){this.urlPolicy_=a;return this};tn_a.withCustomNamePolicy=function(a){this.namePolicy_=a;return this};tn_a.withCustomTokenPolicy=function(a){this.tokenPolicy_=a;return this};
tn_.html.sanitizer.HtmlSanitizer.wrapPolicy_=function(a,b){return function(c,d,e,f){c=a(c,d,e,f);return null==c?null:b(c,d,e,f)}};tn_.html.sanitizer.HtmlSanitizer.installDefaultPolicy_=function(a,b,c,d){a[c]&&!b[c]&&(a[c]=tn_.html.sanitizer.HtmlSanitizer.wrapPolicy_(a[c],d))};tn_.html.sanitizer.HtmlSanitizer.Builder.prototype.build=function(){return new tn_.html.sanitizer.HtmlSanitizer(this)};
tn_.html.sanitizer.HtmlSanitizer.Builder.prototype.installPolicies_=function(){if(this.policiesInstalled_)throw Error("HtmlSanitizer.Builder.build() can only be used once.");var a=tn_.html.sanitizer.HtmlSanitizer.installDefaultPolicy_;a(this.attributeWhitelist_,this.attributeOverrideList_,"* USEMAP",tn_.html.sanitizer.HtmlSanitizer.sanitizeUrlFragment_);var b=["* ACTION","* CITE","* HREF"],c=tn_.html.sanitizer.HtmlSanitizer.wrapUrlPolicy_(this.urlPolicy_);tn_e(b,function(e){a(this.attributeWhitelist_,
this.attributeOverrideList_,e,c)},this);b=["* LONGDESC","* SRC","LINK HREF"];var d=tn_.html.sanitizer.HtmlSanitizer.wrapUrlPolicy_(this.networkRequestUrlPolicy_);tn_e(b,function(e){a(this.attributeWhitelist_,this.attributeOverrideList_,e,d)},this);b=["* FOR","* HEADERS","* NAME"];tn_e(b,function(e){a(this.attributeWhitelist_,this.attributeOverrideList_,e,tn_.partial(tn_.html.sanitizer.HtmlSanitizer.sanitizeName_,this.namePolicy_))},this);a(this.attributeWhitelist_,this.attributeOverrideList_,"A TARGET",
tn_.partial(tn_.html.sanitizer.HtmlSanitizer.allowedAttributeValues_,["_blank","_self"]));a(this.attributeWhitelist_,this.attributeOverrideList_,"* CLASS",tn_.partial(tn_.html.sanitizer.HtmlSanitizer.sanitizeClasses_,this.tokenPolicy_));a(this.attributeWhitelist_,this.attributeOverrideList_,"* ID",tn_.partial(tn_.html.sanitizer.HtmlSanitizer.sanitizeId_,this.tokenPolicy_));a(this.attributeWhitelist_,this.attributeOverrideList_,"* STYLE",tn_.partial(this.sanitizeInlineCssPolicy_,d));this.policiesInstalled_=
!0};tn_.html.sanitizer.HtmlSanitizer.defaultUrlPolicy_=tn_.html.SafeUrl.sanitize;tn_.html.sanitizer.HtmlSanitizer.defaultNetworkRequestUrlPolicy_=tn_.functions.NULL;tn_.html.sanitizer.HtmlSanitizer.defaultNamePolicy_=tn_.functions.NULL;tn_.html.sanitizer.HtmlSanitizer.defaultTokenPolicy_=tn_.functions.NULL;tn_.html.sanitizer.HtmlSanitizer.attrIdentifier_=function(a,b){a||(a="*");return(a+" "+b).toUpperCase()};
tn_.html.sanitizer.HtmlSanitizer.sanitizeCssDeclarationList_=function(a,b,c,d){if(!d.cssStyle)return null;b=function(e,f){c.cssProperty=f;e=a(e,c);return null==e?null:tn_.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(tn_.string.Const.from("HtmlSanitizerPolicy created with networkRequestUrlPolicy_ when installing '* STYLE' handler."),e)};d=tn_.html.SafeStyle.unwrap(tn_.html.sanitizer.CssSanitizer.sanitizeInlineStyle(d.cssStyle,b));return""==d?null:d};
tn_.html.sanitizer.HtmlSanitizer.cleanUpAttribute_=function(a){return tn_.string.trim(a)};tn_.html.sanitizer.HtmlSanitizer.allowedAttributeValues_=function(a,b){b=tn_.string.trim(b);return tn_g(a,b.toLowerCase())?b:null};tn_.html.sanitizer.HtmlSanitizer.sanitizeUrlFragment_=function(a){return(a=tn_.string.trim(a))&&"#"==a.charAt(0)?a:null};tn_.html.sanitizer.HtmlSanitizer.sanitizeName_=function(a,b,c){b=tn_.string.trim(b);return a(b,c)};
tn_.html.sanitizer.HtmlSanitizer.sanitizeClasses_=function(a,b,c){b=b.split(/(?:\s+)/);for(var d=[],e=0;e<b.length;e++){var f=a(b[e],c);f&&d.push(f)}return 0==d.length?null:d.join(" ")};tn_.html.sanitizer.HtmlSanitizer.sanitizeId_=function(a,b,c){b=tn_.string.trim(b);return a(b,c)};tn_.html.sanitizer.HtmlSanitizer.getContext_=function(a,b){var c={cssStyle:void 0};"style"==a&&(c.cssStyle=tn_ae(b));return c};tn_a=tn_.html.sanitizer.HtmlSanitizer.prototype;
tn_a.sanitize=function(a){this.currentStyleContainerId_=this.getStyleContainerId_();a=this.processToString(a);return tn_.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(tn_.string.Const.from("Output of HTML sanitizer"),a)};tn_a.processRoot=function(a){this.currentStyleContainerId_&&this.styleContainerId_==tn_.html.sanitizer.RANDOM_CONTAINER_&&(a.id=this.currentStyleContainerId_)};
tn_a.preProcessHtml=function(a){if(!this.inlineStyleRules_)return a;a=tn_.html.sanitizer.CssSanitizer.safeParseHtmlAndGetInertElement("<div>"+a+"</div>");tn_.asserts.assert(a,"Older browsers that don't support inert parsing should not get to this branch");tn_.html.sanitizer.CssSanitizer.inlineStyleRules(a);return a.innerHTML};
tn_a.getStyleContainerId_=function(){var a=this.styleContainerId_==tn_.html.sanitizer.RANDOM_CONTAINER_,b=!("STYLE"in this.tagBlacklist_)&&"STYLE"in this.tagWhitelist_;return a&&b?"sanitizer-"+tn_.string.getRandomString():this.styleContainerId_};
tn_a.createTextNode=function(a){var b=a.data;(a=tn_je(a))&&"style"==tn_ie(a).toLowerCase()&&!("STYLE"in this.tagBlacklist_)&&"STYLE"in this.tagWhitelist_&&(b=tn_k.unwrap(tn_.html.sanitizer.CssSanitizer.sanitizeStyleSheetString(b,this.currentStyleContainerId_,tn_.bind(function(c,d){return this.networkRequestUrlPolicy_(c,{cssProperty:d})},this))));return document.createTextNode(b)};
tn_a.createElementWithoutAttributes=function(a){a=tn_ie(a).toUpperCase();if(a in this.tagBlacklist_)return null;if(this.tagWhitelist_[a])return document.createElement(a);var b=tn_.dom.createElement(tn_.dom.TagName.SPAN);this.shouldAddOriginalTagNames_&&tn_8d(b,tn_.html.sanitizer.HTML_SANITIZER_SANITIZED_ATTR_NAME_,a.toLowerCase());return b};
tn_a.processElementAttribute=function(a,b){var c=b.name;if(tn_.string.startsWith(c,tn_.html.sanitizer.HTML_SANITIZER_BOOKKEEPING_PREFIX_))return null;var d=tn_ie(a);b=b.value;var e={tagName:tn_.string.trim(d).toLowerCase(),attributeName:tn_.string.trim(c).toLowerCase()};a=tn_.html.sanitizer.HtmlSanitizer.getContext_(e.attributeName,a);d=tn_.html.sanitizer.HtmlSanitizer.attrIdentifier_(d,c);if(d in this.attributeHandlers_)return c=this.attributeHandlers_[d],c(b,e,a);c=tn_.html.sanitizer.HtmlSanitizer.attrIdentifier_(null,
c);return c in this.attributeHandlers_?(c=this.attributeHandlers_[c],c(b,e,a)):null};tn_.html.sanitizer.HtmlSanitizer.sanitize=function(a){var b=(new tn_.html.sanitizer.HtmlSanitizer.Builder).build();return b.sanitize(a)};tn_N.sanitizer={};tn_N.sanitizer.htmlSanitizer={};tn_N.sanitizer.htmlSanitizer.sanitizeHtmlAssertUnchangedWithSanitizer=function(a,b){a=a.sanitize(b);if(tn_.DEBUG){var c=tn_.dom.createElement(tn_.dom.TagName.DIV);tn_.dom.safe.setInnerHtml(c,a);tn_te(b,c,!1)}return a};
tn_N.sanitizer.htmlSanitizer.lenientlySanitizeHtmlAssertUnchanged=function(a){var b=(new tn_.html.sanitizer.HtmlSanitizer.Builder).allowCssStyles().withCustomNamePolicy(tn_.functions.identity).withCustomTokenPolicy(tn_.functions.identity).withCustomNetworkRequestUrlPolicy(tn_.html.SafeUrl.sanitize).withCustomUrlPolicy(tn_.html.SafeUrl.sanitize).build();return tn_N.sanitizer.htmlSanitizer.sanitizeHtmlAssertUnchangedWithSanitizer(b,a)};
tn_N.sanitizer.htmlSanitizer.sanitizeHtmlAssertUnchanged=function(a){var b=(new tn_.html.sanitizer.HtmlSanitizer.Builder).build();return tn_N.sanitizer.htmlSanitizer.sanitizeHtmlAssertUnchangedWithSanitizer(b,a)};var tn_Ue="http://www.gstatic.com/translate/infowindow/";function tn_Ve(){return tn_Ue+"transparent.png"};function tn_O(a,b,c,d,e,f){var g=((b?b.ownerDocument:null)||document).createElement(a);c&&tn_P(g,c);d&&tn_We(g,d);g.style.display="none";b&&!e&&(b.appendChild(g),b.windo&&(g.windo=b.windo));f||window.setTimeout(function(){g.style.display=""},0);return g}function tn_Xe(a,b){a=((b?b.ownerDocument:null)||document).createTextNode(a);b&&b.appendChild(a);return a}function tn_Q(a){return tn_R(a)+"px"}function tn_P(a,b){a=a.style;a.position="absolute";a.left=tn_Q(b.x);a.top=tn_Q(b.y)}
function tn_We(a,b){a=a.style;a.width=tn_Q(b.width);a.height=tn_Q(b.height)}function tn_S(a,b){a.style.width=tn_Q(b)}function tn_T(a,b){a.style.height=tn_Q(b)}function tn_U(a){a.style.display="none"}function tn_V(a){a.style.display=""}function tn_Ye(a){a.style.visibility="hidden"}var tn_Ze=Math.min,tn_W=Math.max,tn_R=Math.round;function tn_X(a,b){try{a.style.cursor=b}catch(c){"pointer"==b&&tn_X(a,"hand")}}
function tn__e(a){var b=a,c="gmnoscreen",d=b.className?""+b.className:"";if(d&&-1!=d.indexOf(c)){d=d.split(/\s+/);for(var e=0;e<d.length;++e)d[e]==c&&d.splice(e--,1);b.className=d.join(" ")}b="gmnoprint";if(c=a.className?""+a.className:""){c=c.split(/\s+/);d=!1;for(e=0;e<c.length;++e)if(c[e]==b){d=!0;break}d||c.push(b);a.className=c.join(" ")}else a.className=b}function tn_0e(a,b,c){return window.setTimeout(function(){b.apply(a)},c)}
function tn_1e(a){a.parentNode&&(a.parentNode.removeChild(a),tn_Sb(a,tn_2e))}function tn_3e(a,b){for(var c=a.length,d=0;d<c;++d)b(a[d],d)}function tn_4e(a,b,c){for(var d in a)(c||!a.hasOwnProperty||a.hasOwnProperty(d))&&b(d,a[d])}function tn_5e(a,b,c,d){c=c||0;for(d=d||b.length;c<d;++c)a.push(b[c])}function tn_6e(){return!1}
function tn_Y(a,b){var c=(a?a.ownerDocument:null)||document;if(a.currentStyle)return b=tn_7e(b),a.currentStyle[b];if(c.defaultView&&c.defaultView.getComputedStyle)return(a=c.defaultView.getComputedStyle(a,""))?a.getPropertyValue(b):"";b=tn_7e(b);return a.style[b]}
function tn_8e(a,b,c){b=c?c:tn_Y(a,b);if("number"==typeof b||isNaN(parseInt(b,10)))return b;if(2<b.length&&"px"==b.substring(b.length-2))return parseInt(b,10);(c=a.ownerDocument.getElementById("__mapsBaseCssDummy__"))?a.parentNode.appendChild(c):(c=tn_O("div",a,new tn_c(0,0),new tn_Z(0,0)),c.id="__mapsBaseCssDummy__",tn_Ye(c));c.style.width="0px";c.style.width=b;return c.offsetWidth}function tn_9e(a){return new tn_Z(tn_$e(a,"border-left-width"),tn_$e(a,"border-top-width"))}
function tn_$e(a,b){var c=tn_Y(a,b);return isNaN(parseInt(c,10))?0:tn_8e(a,b,c)}function tn_7e(a){return a.replace(/-(\w)/g,function(b,c){return(""+c).toUpperCase()})}function tn_af(a){var b=!1;a&&"object"==typeof a&&(b="function"==typeof Window?a instanceof Window:"object"==typeof a.navigator&&"object"==typeof a.history&&"object"==typeof a.document);return a=b?a:a&&a.windo?a.windo:window};function tn_bf(a,b,c){tn_cf([a],function(d){b(d[0])},c)}
function tn_cf(a,b,c){c=c||screen.width;var d=tn_O("div",window.document.body,new tn_c(-screen.width,-screen.height),new tn_Z(c,screen.height)),e=[];for(c=0;c<a.length;c++){var f=tn_O("div",d,tn_c.ORIGIN);f.appendChild(a[c]);e.push(f)}window.setTimeout(function(){for(var g=[],l=new tn_Z(0,0),n=0;n<e.length;n++){var k=e[n],h=new tn_Z(k.offsetWidth,k.offsetHeight);g.push(h);k.removeChild(a[n]);tn_1e(k);l.width=tn_W(l.width,h.width);l.height=tn_W(l.height,h.height)}tn_1e(d);e=null;b(g,l)},0)};function tn_df(a,b,c,d,e,f,g){e&&1==tn__.type?(b=tn_O("div",b,c,d),b.style.overflow="hidden",d&&f&&(b.sizingMethod="scale"),d=tn_O("img",b),tn_Ye(d),tn_ef(d,tn_ff,tn_gf)):(b=tn_O("img",b,c,d),g&&tn_ef(b,tn_ff,tn_hf));g&&(b.hideAndTrackLoading=!0);g=b;tn__.isGeckoBased()?g.style.MozUserSelect="none":(g.unselectable="on",g.onselectstart=tn_6e);1==tn__.type&&(b.galleryImg="no");b.style.border=tn_Q(0);b.style.padding=tn_Q(0);b.style.margin=tn_Q(0);b.oncontextmenu=tn_if;g=b;"DIV"==g.tagName?(g.firstChild.src=
a,g.src=a,g.hideAndTrackLoading&&(g.style.filter="",g.loaded=!1)):g.hideAndTrackLoading&&a!=tn_Ve()?(a!=tn_Ve()?(g.loaded=!1,g.pendingSrc=a):g.pendingSrc=null,g.src=tn_Ve()):g.src=a;return b}function tn_gf(){var a=this.parentNode;a.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod="+(a.sizingMethod?a.sizingMethod:"crop")+',src="'+this.src+'")';a.hideAndTrackLoading&&(a.loaded=!0)}
function tn_hf(){var a=this;a.src==tn_Ve()&&a.pendingSrc?(a.src=a.pendingSrc,a.pendingSrc=null):a.loaded=!0};var tn_jf="dblclick",tn_ff="load",tn_kf="unload",tn_lf="clearlisteners";var tn_mf=!1;function tn_0(){this.listeners_=[]}function tn_nf(){}tn_0.instance=function(a){a||(a=window);a.gEventListenerPool||(a.gEventListenerPool=new tn_0);return a.gEventListenerPool};tn_0.remove=function(a){tn_0.instance(tn_af(a)).remove_(a)};tn_0.prototype.remove_=function(a){var b=this.listeners_.pop(),c=a.index_;c<this.listeners_.length&&(this.listeners_[c]=b,b.setIndex_(c));a.setIndex_(-1)};tn_0.push=function(a){tn_0.instance(tn_af(a)).push_(a)};
tn_0.prototype.push_=function(a){this.listeners_.push(a);a.setIndex_(this.listeners_.length-1)};tn_0.prototype.clear=function(){for(var a=0;a<this.listeners_.length;++a)this.listeners_[a].setIndex_(-1);this.listeners_=[]};function tn_of(a,b,c){a=new EventListener(a,b,c,0);tn_0.push(a);return a}function tn_pf(a){a.remove();tn_0.remove(a)}function tn_2e(a){tn_1(a,tn_lf);tn_3e(tn_qf(a),function(b){b.remove();tn_0.remove(b)})}
function tn_qf(a,b){var c=[];(a=a.__e_)&&(b?a[b]&&tn_5e(c,a[b]):tn_4e(a,function(d,e){tn_5e(c,e)}));return c}function tn_rf(a,b,c){var d=a.__e_;if(d){var e=d[b];e||(e=[],c&&(d[b]=e))}else e=[],c&&(a.__e_={},a.__e_[b]=e);return e}function tn_1(a,b,c){var d=[];tn_5e(d,arguments,2);tn_3e(tn_qf(a,b),function(e){if(tn_mf)e.apply(a,d);else try{e.apply(a,d)}catch(f){}})}
function tn_ef(a,b,c){3==tn__.type&&b==tn_jf?(a["on"+b]=c,c=new EventListener(a,b,c,3)):a.addEventListener?(a.addEventListener(b,c,!1),c=new EventListener(a,b,c,1)):a.attachEvent?(c=tn_sf(a,c),a.attachEvent("on"+b,c),c=new EventListener(a,b,c,2)):(a["on"+b]=c,c=new EventListener(a,b,c,3));var d=tn_af(a);a==d&&b==tn_kf||tn_0.push(c);return c}function tn_2(a,b,c,d){c=tn_tf(c,d);return tn_ef(a,b,c)}function tn_uf(a,b,c){tn_2(a,"click",b,c);1==tn__.type&&tn_2(a,tn_jf,b,c)}
function tn_tf(a,b){return function(c){c||(c=window.event);c&&!c.target&&(c.target=c.srcElement);b.call(a,c,this)}}function tn_sf(a,b){return function(){return b.apply(a,arguments)}}function EventListener(a,b,c,d){tn_m(a);tn_m("function"==typeof c);var e=this;e.instance_=a;e.eventName_=b;e.handler_=c;e.registrationType_=d;e.index_=-1;c=tn_af(a);e.windo=c;tn_rf(a,b,!0).push(e)}
EventListener.prototype.remove=function(){var a=this;switch(a.registrationType_){case 1:a.instance_.removeEventListener(a.eventName_,a.handler_,!1);break;case 2:a.instance_.detachEvent("on"+a.eventName_,a.handler_);break;case 3:a.instance_["on"+a.eventName_]=null}tn_Cb(tn_rf(a.instance_,a.eventName_),a);a.instance_=null;a.handler_=null;a.remove=tn_nf;a.apply=tn_nf};EventListener.prototype.setIndex_=function(a){this.index_=a};
EventListener.prototype.apply=function(a,b){return this.handler_.apply(a,b)};EventListener.prototype.getInstance=function(){return this.instance_};function tn_vf(a){"click"==a.type&&tn_1(document,"logclick",a);1==tn__.type?(window.event.cancelBubble=!0,window.event.returnValue=!1):(a.preventDefault(),a.stopPropagation())}function tn_wf(a){"click"==a.type&&tn_1(document,"logclick",a);1==tn__.type?window.event.cancelBubble=!0:a.stopPropagation()}
function tn_if(a){1==tn__.type?window.event.returnValue=!1:a.preventDefault()};var tn_xf="opera msie chrome applewebkit firefox camino mozilla".split(" "),tn_yf="x11; macintosh windows android ipad ipod iphone webos".split(" "),tn_3=function(a){this.agent=a;this.os=this.type=-1;this.build=this.revision=this.version=0;a=a.toLowerCase();for(var b=0;b<tn_xf.length;b++){var c=tn_xf[b];if(-1!=a.indexOf(c)){this.type=b;b=new RegExp(c+"[ /]?([0-9]+(.[0-9]+)?)");if(b=b.exec(a))this.version=parseFloat(b[1]);break}}6==this.type&&(b=/^Mozilla\/.*Gecko\/.*(Minefield|Shiretoko)[ /]?([0-9]+(.[0-9]+)?)/,
b=b.exec(this.agent))&&(this.type=4,this.version=parseFloat(b[2]));3==this.type&&(b=/^.*Version\/?([0-9]+(.[0-9]+)?)/,b=b.exec(this.agent))&&(this.build=this.version,this.version=parseFloat(b[1]));0==this.type&&(b=/^Opera\/9.[89].*Version\/?([0-9]+(.[0-9]+)?)/,b=b.exec(this.agent))&&(this.version=parseFloat(b[1]));for(b=0;b<tn_yf.length;b++)if(c=tn_yf[b],-1!=a.indexOf(c)){this.os=b;break}1==this.os?(b=/Mac OS X[ ]+([0-9]+)[\._]([0-9]+)/,b.exec(this.agent)):2==this.os&&(b=/Windows NT ([0-9]+.[0-9]+)/,
b.exec(this.agent));1==this.os&&a.indexOf("intel");a=/\brv:\s*(\d+\.\d+)/.exec(a);this.isGeckoBased()&&a&&(this.revision=parseFloat(a[1]))};tn_3.prototype.isGeckoBased=function(){return 4==this.type||6==this.type||5==this.type};tn_3.prototype.isSafari=function(){return 3==this.type};tn_3.prototype.isOpera=function(){return 0==this.type};tn_3.OS_NAMES={};tn_3.OS_NAMES[2]="windows";tn_3.OS_NAMES[1]="macos";tn_3.OS_NAMES[0]="unix";tn_3.OS_NAMES[3]="android";tn_3.OS_NAMES[6]="iphone";
tn_3.OS_NAMES[-1]="other";tn_3.BROWSER_NAMES={};tn_3.BROWSER_NAMES[1]="ie";tn_3.BROWSER_NAMES[4]="firefox";tn_3.BROWSER_NAMES[2]="chrome";tn_3.BROWSER_NAMES[3]="safari";tn_3.BROWSER_NAMES[0]="opera";tn_3.BROWSER_NAMES[5]="camino";tn_3.BROWSER_NAMES[6]="mozilla";tn_3.BROWSER_NAMES[-1]="other";var tn__=new tn_3(navigator.userAgent);tn_c.ORIGIN=new tn_c(0,0);tn_c.prototype.toString=function(){return"("+this.x+", "+this.y+")"};tn_c.prototype.equals=function(a){return a?a.x==this.x&&a.y==this.y:!1};var tn_Z=function(a,b){this.width=a;this.height=b};tn_Z.prototype.toString=function(){return"("+this.width+", "+this.height+")"};tn_Z.prototype.equals=function(a){return a?a.width==this.width&&a.height==this.height:!1};tn_Z.ZERO=new tn_Z(0,0);function tn_zf(a,b){for(var c=new tn_c(0,0);a&&a!=b;){if("BODY"==a.nodeName){var d=c,e=a,f=!1;if(tn__.isGeckoBased()){f="visible"!=tn_Y(e,"overflow")&&"visible"!=tn_Y(e.parentNode,"overflow");var g="static"!=tn_Y(e,"position");if(g||f){d.x+=tn_8e(e,"margin-left");d.y+=tn_8e(e,"margin-top");var l=tn_9e(e.parentNode);d.x+=l.width;d.y+=l.height}g&&(d.x+=tn_8e(e,"left"),d.y+=tn_8e(e,"top"))}if((tn__.isGeckoBased()||1==tn__.type)&&"BackCompat"!=document.compatMode||f)self.pageYOffset?(d.x-=self.pageXOffset,
d.y-=self.pageYOffset):(d.x-=document.documentElement.scrollLeft,d.y-=document.documentElement.scrollTop)}d=tn_9e(a);c.x+=d.width;c.y+=d.height;"BODY"==a.nodeName&&tn__.isGeckoBased()||(c.x+=a.offsetLeft,c.y+=a.offsetTop);tn__.isGeckoBased()&&1.8<=tn__.revision&&a.offsetParent&&"BODY"!=a.offsetParent.nodeName&&"visible"!=tn_Y(a.offsetParent,"overflow")&&(d=tn_9e(a.offsetParent),c.x+=d.width,c.y+=d.height);a.offsetParent&&(c.x-=a.offsetParent.scrollLeft,c.y-=a.offsetParent.scrollTop);if(d=1!=tn__.type)a:{d=
a;if(d.offsetParent&&"BODY"==d.offsetParent.nodeName&&"static"==tn_Y(d.offsetParent,"position"))if(0==tn__.type&&"static"!=tn_Y(d,"position")){d=!0;break a}else if(0!=tn__.type&&"absolute"==tn_Y(d,"position")){d=!0;break a}d=!1}if(d){tn__.isGeckoBased()&&(c.x-=self.pageXOffset,c.y-=self.pageYOffset,d=tn_9e(a.offsetParent.parentNode),c.x+=d.width,c.y+=d.height);break}3==tn__.type&&a.offsetParent&&(d=tn_9e(a.offsetParent),c.x-=d.width,c.y-=d.height);a=a.offsetParent}1==tn__.type&&!b&&document.documentElement&&
(c.x+=document.documentElement.clientLeft,c.y+=document.documentElement.clientTop);return b&&null==a?(a=tn_zf(b),new tn_c(c.x-a.x,c.y-a.y)):c}
function tn_Af(a,b){if("undefined"!=typeof a.offsetX){var c=a.target||a.srcElement;3==c.nodeType&&(c=c.parentNode);b=tn_zf(c,b);a=new tn_c(a.offsetX,a.offsetY);3==tn__.type&&(c=tn_9e(c),a.x-=c.width,a.y-=c.height);return new tn_c(b.x+a.x,b.y+a.y)}return"undefined"!=typeof a.clientX?(a=3==tn__.type?new tn_c(a.pageX-self.pageXOffset,a.pageY-self.pageYOffset):new tn_c(a.clientX,a.clientY),b=tn_zf(b),new tn_c(a.x-b.x,a.y-b.y)):tn_c.ORIGIN};var tn_Bf=function(a){this.ticks=a;this.tick=0};tn_Bf.prototype.reset=function(){this.tick=0};tn_Bf.prototype.next=function(){this.tick++;var a=Math.PI*(this.tick/this.ticks-.5);return(Math.sin(a)+1)/2};tn_Bf.prototype.more=function(){return this.tick<this.ticks};tn_Bf.prototype.extend=function(){this.tick>this.ticks/3&&(this.tick=tn_R(this.ticks/3))};var tn_Cf=!1,tn_Df=function(a,b,c){this.name=a;if("string"==typeof b){var d=a=tn_O("div",null);if(d.innerHTML!=b){for(var e=d,f;f=e.firstChild;)tn_Sb(f,tn_2e),e.removeChild(f);d.innerHTML=b}b=a}this.contentElem=b;b.style.zIndex=9500;this.onclick=c},tn_Ef=function(){this.rectPosition_=new Rect(0,0,0,0);this.pixelOffset_=tn_Z.ZERO;this.tabs_=[];this.contentContainers_=[];this.tabImages_=[];this.tabShadowOverlapImages_=[];this.selectedTab_=this.totalTabWidth_=0;this.centerSize_=this.boundSize_(tn_Z.ZERO);
this.images_={};this.allowBeside_=this.allowDownwards_=this.keepInBounds_=!1;this.tabPos_=new tn_c(8,8);this.interfaceDirection_="ltr"};tn_a=tn_Ef.prototype;
tn_a.create=function(a,b){var c=this.images_;a=tn_Ff(c,a,[["iw_n",628,6,0,0,"iw_n1"],["iw_n",628,6,0,0,"iw_n2"],["iw_w",6,598,0,0],["iw_e",6,598,0,0],["iw_s0",628,6,0,0,"iw_s1"],["iw_s0",628,6,0,0,"iw_s2"],["iw_c",628,598,0,0]]);var d=new tn_Z(6,6);tn_4(c,a,"iw_nw",d);tn_4(c,a,"iw_ne",d);tn_4(c,a,"iw_xtap",new tn_Z(32,21));tn_4(c,a,"iw_xtap_l",new tn_Z(32,21));tn_4(c,a,"iw_xtap_u",new tn_Z(32,21));tn_4(c,a,"iw_xtap_ul",new tn_Z(32,21));tn_4(c,a,"iw_xtap_rd",new tn_Z(21,32));tn_4(c,a,"iw_xtap_ld",
new tn_Z(21,32));tn_4(c,a,"iw_sw0",d,"iw_sw");tn_4(c,a,"iw_se0",d,"iw_se");tn__e(a);this.window_=a;d=new tn_Z(8,8);b=tn_Ff(c,b,[["iws_n",628,8,0,0,"iws_n1"],["iws_n",628,8,0,0,"iws_n2"],["iws_w",8,598,0,0],["iws_e",8,598,0,0],["iws_s",628,8,0,0,"iws_s1"],["iws_s",628,8,0,0,"iws_s2"],["iws_c",628,598,0,0]]);tn_4(c,b,"iws_nw",d);tn_4(c,b,"iws_ne",d);tn_4(c,b,"iws_sw",d);tn_4(c,b,"iws_se",d);tn_4(c,b,"iws_tap",new tn_Z(37,16));tn_4(c,b,"iws_tap_l",new tn_Z(32,16));tn_4(c,b,"iws_tap_u",new tn_Z(37,26));
tn_4(c,b,"iws_tap_ul",new tn_Z(32,26));tn_4(c,b,"iws_tap_rd",new tn_Z(16,37));tn_4(c,b,"iws_tap_ld",new tn_Z(26,37));tn_4(c,b,"iws_tab_dl",new tn_Z(8,28));tn_4(c,b,"iws_tab_dr",new tn_Z(14,28));tn_4(c,b,"iws_tab_l",new tn_Z(8,28));tn_4(c,b,"iws_tab_r",new tn_Z(14,28));tn_U(c.iws_tab_dl);tn_U(c.iws_tab_dr);tn_U(c.iws_tab_l);tn_U(c.iws_tab_r);tn__e(b);this.shadow_=b;b=new tn_Z(14,13);d=tn_4(c,a,"close",b,"close",!0);d.style.zIndex=1E4;tn_X(d,"pointer");tn_uf(d,this,this.onCloseClick_);d=tn_4(c,a,"maximize",
b,"maximize",!0);d.style.zIndex=1E4;tn_Ye(d);tn_X(d,"pointer");tn_uf(d,this,this.maximize);c=tn_4(c,a,"restore",b,"restore",!0);c.style.zIndex=10001;tn_Ye(c);tn_X(c,"pointer");tn_uf(c,this,this.restore);tn_2(a,"mousedown",this,this.filterMouseDown_);tn_2(a,tn_jf,this,this.filterMouseDblClick_);tn_2(a,"click",this,this.filterMouseDown_);tn_2(a,"contextmenu",this,tn_wf);tn_2(a,"mousewheel",this,tn_wf);tn_2(a,"DOMMouseScroll",this,tn_wf);this.hide()};tn_a.remove=function(){tn_1e(this.shadow_);tn_1e(this.window_)};
tn_a.allowMaximizeAndRestoreButtons=function(a){a?(tn_V(this.images_.maximize),tn_V(this.images_.restore)):(tn_U(this.images_.maximize),tn_U(this.images_.restore))};tn_a.showCloseButton=function(a){this.images_.close.style.visibility=a?"visible":"hidden"};tn_a.setInterfaceDirection=function(a){this.interfaceDirection_=!0===a||"rtl"===a?"rtl":"ltr"};tn_a.keepInBounds=function(a){this.keepInBounds_=a};tn_a.keepInScrollpane=function(a){this.keepInScrollpane_=a};
tn_a.allowDownwards=function(a){this.allowDownwards_=a};
tn_a.setNodePosition=function(a){if(!a.getClientRects)return this.setRectPosition(tn_fa(a));var b=this.getCenterSize(),c=this.images_,d=b.width,e=b.height,f=window.innerWidth||document.body.scrollWidth;b=document.documentElement.scrollLeft||window.scrollX||document.body.scrollLeft;var g=document.documentElement.scrollTop||window.scrollY||document.body.scrollTop,l=0,n=0;document.body.getClientRects&&(n=document.body.getClientRects(),l=b+n[0].left,n=g+n[0].top);tn_U(c.iw_xtap);tn_U(c.iw_xtap_l);tn_U(c.iw_xtap_u);
tn_U(c.iw_xtap_ul);tn_U(c.iw_xtap_ld);tn_U(c.iw_xtap_rd);tn_U(c.iws_tap);tn_U(c.iws_tap_l);tn_U(c.iws_tap_u);tn_U(c.iws_tap_ul);tn_U(c.iws_tap_ld);tn_U(c.iws_tap_rd);c=a.getClientRects();var k=Array(c.length),h=tn_fa(a);a=c[0].top-h.y;for(var m=0;m<c.length;++m){k[m]={left:c[m].left-l,right:c[m].right-l,top:c[m].top-n,bottom:c[m].bottom-n};0<m&&k[m].bottom==k[m-1].bottom&&(k[m].left==k[m-1].right?(k[m].left=k[m-1].left,k[m].top=tn_Ze(k[m].top,k[m-1].top)):k[m].right==k[m-1].left&&(k[m].right=k[m-
1].right,k[m].top=tn_Ze(k[m].top,k[m-1].top)));if(!p||k[m].left<=p.left)var p=k[m];if(!q||k[m].right>=q.right)var q=k[m];if(!t||k[m].top<=t.top)var t=k[m];if(!r||k[m].bottom>=r.bottom)var r=k[m]}if(this.allowBeside_&&21+d+6+12+q.right<f)return this.setRectPosition(new Rect(p.left+b,q.top-a,q.right-p.left,q.bottom-q.top));if(this.allowBeside_&&18+d+21<p.left)return this.setRectPosition(new Rect(p.left+b,p.top-a,q.right-p.left,p.bottom-p.top));this.allowDownwards_&&21+e+6+12+(1<this.tabs_.length?20:
0)>h.y-(this.keepInScrollpane_?g:0)?(d=this.allowBeside_,this.allowBeside_=!1,t=this.setRectPosition(new Rect(r.left+b,t.top-a,r.right-r.left,r.bottom-t.top))):(d=this.allowBeside_,this.allowBeside_=!1,t=this.setRectPosition(new Rect(t.left+b,t.top-a,t.right-t.left,r.bottom-t.top)));this.allowBeside_=d;return t};
tn_a.setRectPosition=function(a,b){var c=this.getCenterSize(),d=this.images_,e=c.width,f=c.height,g=document.body.scrollWidth,l=document.documentElement.scrollLeft||window.scrollX||document.body.scrollLeft,n=document.documentElement.scrollTop||window.scrollY||document.body.scrollTop;tn_U(d.iw_xtap);tn_U(d.iw_xtap_l);tn_U(d.iw_xtap_u);tn_U(d.iw_xtap_ul);tn_U(d.iw_xtap_ld);tn_U(d.iw_xtap_rd);tn_U(d.iws_tap);tn_U(d.iws_tap_l);tn_U(d.iws_tap_u);tn_U(d.iws_tap_ul);tn_U(d.iws_tap_ld);tn_U(d.iws_tap_rd);
var k=0;c=0;var h=0,m=this.allowBeside_;if(m&&21+e+6+12+a.x+a.w<l+g){var p=!0;f=d.iw_xtap_ld;n=d.iws_tap_ld}else if(m&&18+e+21+l<a.x){var q=!0;f=d.iw_xtap_rd;n=d.iws_tap_rd;c=5}else{if(this.allowDownwards_&&21+f+6+12+(1<this.tabs_.length?20:0)+(this.keepInScrollpane_?n:0)>a.y){f=d.iw_xtap_u;n=d.iws_tap_u;k=0;var t=!0}else f=d.iw_xtap,n=d.iws_tap,k=0;tn_R(a.x+a.w/2)+32+6+12>l+g&&(f==d.iw_xtap_u?(f=d.iw_xtap_ul,n=d.iws_tap_ul):(f=d.iw_xtap_l,n=d.iws_tap_l),c=5,k=32);var r=tn_R((e-32)/2);this.keepInBounds_&&
(r+6+12+k+l>a.x+tn_R(a.w/2)?(r=a.x+tn_R(a.w/2)-6-12-k-l,0>r&&(h=tn_Ze(-r,tn_R(a.w/2)),r=0)):a.x+tn_R(a.w/2)-k+e-r+18>l+g&&(t?(f=d.iw_xtap_ul,n=d.iws_tap_ul):(f=d.iw_xtap_l,n=d.iws_tap_l),c=5,k=32,r=a.x+tn_R(a.w/2)-k+e+6+12-g-l,r>e-32&&(h=tn_W(e-32-r,-tn_R(a.w/2)),r=e-32)));var u=e-32-r}tn_V(f);tn_V(n);this.pointerOffset_=p?0:q?6+e+21:6+r+k;b=this.pixelOffset_=b||tn_Z.ZERO;e=this.pointerOffset_-h;h=p||q?6:t?0:this.getTotalSize().height+(1<this.tabs_.length?20:0);e-=b.width;h-=b.height;b=new tn_c(a.x+
(p?a.w:q?0:a.w/2)-e,a.y+(p||q?a.h/2:t?a.h:0)-h);tn_P(this.window_,b);tn_P(this.shadow_,b);this.rectPosition_=a;this.nodePosition_=void 0;return this.position_(p,q,t,r,u,f,n,c)};
tn_a.position_=function(a,b,c,d,e,f,g,l){var n=!(a||b||c);this.tapImg_=f;this.shadowTapImg_=g;var k=this.getCenterSize(),h=this.images_,m=k.width,p=k.height,q=1<this.tabs_.length?this.totalTabWidth_:0;c?(tn_S(h.iw_n1,tn_W(d,0)),tn_S(h.iw_n2,tn_W(e,0)),tn_S(h.iw_s1,m-q),tn_S(h.iw_s2,0),tn_S(h.iws_n1,tn_W(d,0)),tn_S(h.iws_n2,tn_W(e,0)),tn_S(h.iws_s1,m-q),tn_S(h.iws_s2,0)):n?(tn_S(h.iw_n1,m-q),tn_S(h.iw_n2,0),tn_S(h.iw_s1,tn_W(d,0)),tn_S(h.iw_s2,tn_W(e,0)),tn_S(h.iws_n1,m-q),tn_S(h.iws_n2,0),tn_S(h.iws_s1,
tn_W(d,0)),tn_S(h.iws_s2,tn_W(e,0))):(tn_S(h.iw_n1,m),tn_S(h.iw_n2,0),tn_S(h.iw_s1,m-q),tn_S(h.iw_s2,0),tn_S(h.iws_n1,m),tn_S(h.iws_n2,0),tn_S(h.iws_s1,m-q),tn_S(h.iws_s2,0));tn_We(h.iw_c,k);a?(tn_T(h.iw_w,tn_W(p-32,0)),tn_T(h.iw_e,tn_W(p,32)),tn_T(h.iws_w,tn_W(p-32,0)),tn_T(h.iws_e,tn_W(p,32))):b?(tn_T(h.iw_e,tn_W(p-32,0)),tn_T(h.iw_w,tn_W(p,32)),tn_T(h.iws_e,tn_W(p-32,0)),tn_T(h.iws_w,tn_W(p,32))):(tn_T(h.iw_w,p),tn_T(h.iw_e,p),tn_T(h.iws_w,p),tn_T(h.iws_e,p));e=a?15:0;k=e+5-2;var t=e+6,r=t+5,u=
t+m,v=u+5,z=a?0:b?u:t+d,w=z+l,A=z+32,G=A+5;m=c?15:!a&&!b&&1<this.tabs_.length?20:0;var y=m+5-2,x=m+6,B=x+5,C=x+(a||b?tn_W(p,32):p),E=C+5;p=c||a||b?C:0;l=p+5-(c||a||b?0:2);d=c||a||b?C+6-1:0;var H=new tn_c(t,C),I=new tn_c(r,E),J=new tn_c(t,m),K=new tn_c(r,y);tn_P(h.iw_nw,new tn_c(e,m));tn_P(h.iws_nw,new tn_c(k,y));n?(tn_P(h.iw_n1,new tn_c(t+q,m)),tn_P(h.iws_n1,new tn_c(r+q,y)),tn_P(h.iw_s1,H),tn_P(h.iws_s1,I),tn_P(h.iw_s2,new tn_c(A,C)),tn_P(h.iws_s2,new tn_c(G,E)),tn_U(h.iws_tab_dl),tn_U(h.iws_tab_dr),
tn_V(h.iws_tab_l),tn_V(h.iws_tab_r),tn_P(h.iws_tab_l,new tn_c(k,l)),tn_P(h.iws_tab_r,new tn_c(r+q-14,l))):(tn_P(h.iw_n1,J),tn_P(h.iws_n1,K),tn_P(h.iw_s2,H),tn_P(h.iws_s2,I),tn_P(h.iw_s1,new tn_c(t+q,C)),tn_P(h.iws_s1,new tn_c(r+q,E)),tn_V(h.iws_tab_dl),tn_V(h.iws_tab_dr),tn_U(h.iws_tab_l),tn_U(h.iws_tab_r),tn_P(h.iws_tab_dl,new tn_c(k,l)),tn_P(h.iws_tab_dr,new tn_c(r+q-14,l)));c?(tn_P(h.iw_n2,new tn_c(A,m)),tn_P(h.iws_n2,new tn_c(G,y))):(tn_P(h.iw_n2,J),tn_P(h.iws_n2,K));tn_P(h.iw_ne,new tn_c(u,m));
tn_P(h.iws_ne,new tn_c(v,y));tn_P(h.iw_w,new tn_c(e,x+(a?32:0)));tn_P(h.iws_w,new tn_c(k,B+(a?32:0)));tn_P(h.iw_c,new tn_c(t,x));tn_P(h.iws_c,new tn_c(r,B));tn_S(h.iw_c,u-t);tn_T(h.iw_c,C-x);tn_S(h.iws_c,v-r);tn_T(h.iws_c,E-B);tn_P(h.iw_e,new tn_c(u,x+(b?32:0)));tn_P(h.iws_e,new tn_c(v,B+(b?32:0)));tn_P(h.iw_sw,new tn_c(e,C));tn_P(h.iws_sw,new tn_c(k,E));tn_P(h.iw_se,new tn_c(u,C));tn_P(h.iws_se,new tn_c(v,E));a?(tn_P(f,new tn_c(0,x)),tn_P(g,new tn_c(0,x))):b?(tn_P(f,new tn_c(u,x)),tn_P(g,new tn_c(v,
x))):c?(tn_P(f,new tn_c(z,0)),tn_P(g,new tn_c(w,0))):(tn_P(f,new tn_c(z,C)),tn_P(g,new tn_c(w,E)));a="rtl"==this.interfaceDirection_?-0+t:u-14;b=x-0;tn_P(h.close,new tn_c(a,b));"hidden"!=h.close.style.visibility&&(a="rtl"==this.interfaceDirection_?a+16:a-16);a=new tn_c(a,b);tn_P(h.maximize,a);tn_P(h.restore,a);this.tabPos_=new tn_c(e+8,m+8);for(a=0;a<this.contentContainers_.length;a++)b=this.contentContainers_[a],tn_P(b,this.tabPos_);if(2>this.tabs_.length)tn_U(h.iws_tab_l),tn_U(h.iws_tab_r),tn_U(h.iws_tab_dl),
tn_U(h.iws_tab_dr),tn_V(h.iw_sw),tn_V(h.iws_sw),tn_V(h.iw_nw),tn_V(h.iws_nw);else for(n?(tn_U(h.iw_nw),tn_U(h.iws_nw),tn_V(h.iw_sw),tn_V(h.iws_sw)):(tn_U(h.iw_sw),tn_U(h.iws_sw),tn_V(h.iw_nw),tn_V(h.iws_nw)),a=0;a<this.tabs_.length;++a){h=this.tabs_[a];m=h.images;f=h.textWidth;b=h.labelNode;r=b.style;var D;0<a&&(D=this.tabShadowOverlapImages_[a-1]);tn_U(m.iw_tabback_dl);tn_U(m.iw_tabback_dm);tn_U(m.iw_tabback_dr);tn_U(m.iw_tabback_l);tn_U(m.iw_tabback_m);tn_U(m.iw_tabback_r);tn_U(m.iw_tab_dl);tn_U(m.iw_tab_dm);
tn_U(m.iw_tab_dr);tn_U(m.iw_tab_l);tn_U(m.iw_tab_m);tn_U(m.iw_tab_r);tn_U(m.iws_tab_m);tn_U(m.iws_tab_dm);D?(tn_U(D.iws_tab_do),tn_U(D.iws_tab_o)):(tn_U(m.iw_tab_1l),tn_U(m.iw_tab_1dl),tn_U(m.iw_tabback_1l),tn_U(m.iw_tabback_1dl),tn_U(m.iws_tab_1l),tn_U(m.iws_tab_1dl));c=this.window_.style.zIndex;if(n){this.selectedTab_==a?(g=0==a?m.iw_tab_1l:m.iw_tab_l,q=m.iw_tab_m,t=m.iw_tab_r,++c):(g=0==a?m.iw_tabback_1l:m.iw_tabback_l,q=m.iw_tabback_m,t=m.iw_tabback_r);m=m.iws_tab_m;if(D)var F=D.iws_tab_o;r.paddingTop=
tn_Q(4);r.paddingBottom=tn_Q(0)}else this.selectedTab_==a?(g=0==a?m.iw_tab_1dl:m.iw_tab_dl,q=m.iw_tab_dm,t=m.iw_tab_dr,++c):(g=0==a?m.iw_tabback_1dl:m.iw_tabback_dl,q=m.iw_tabback_dm,t=m.iw_tabback_dr),m=m.iws_tab_dm,D&&(F=D.iws_tab_do),r.paddingTop=tn_Q(4),r.paddingBottom="";tn_V(g);tn_V(q);tn_V(t);tn_V(m);r=h.offset+(0==a?6:11);tn_P(g,new tn_c(e+h.offset,p));tn_P(q,new tn_c(e+r,p));tn_S(q,f);tn_P(m,new tn_c(k+2+r,l));tn_S(m,f);tn_P(t,new tn_c(e+r+f,p));F&&(tn_V(F),tn_P(F,new tn_c(k+r-14+2,l)),F.parentNode||
this.shadow_.appendChild(F));g.style.zIndex=c;q.style.zIndex=c;t.style.zIndex=c;f=f+2+3;tn_S(b,f);tn_P(b,new tn_c(e+r-2,d));tn_V(b);b.style.zIndex=c+1;!b.parentNode&&0<h.textWidth&&this.window_.appendChild(b)}};tn_a.resetPixelPosition=function(){this.nodePosition_?this.setNodePosition(this.nodePosition_,this.pixelOffset_):this.rectPosition_&&this.setRectPosition(this.rectPosition_,this.pixelOffset_)};tn_a.getCenterSize=function(){return new tn_Z(tn_W(this.centerSize_.width,this.totalTabWidth_),this.centerSize_.height)};
tn_a.reset=function(a,b,c,d,e){this.setContent(c,b,e);this.setRectPosition(a,d);this.show();tn_Ye(this.images_.restore)};tn_a.hide=function(){this.tapImg_&&tn_U(this.tapImg_);this.shadowTapImg_&&tn_U(this.shadowTapImg_);tn_U(this.window_);tn_U(this.shadow_)};tn_a.show=function(){this.isHidden()&&(tn_V(this.window_),tn_V(this.shadow_),this.tapImg_&&tn_V(this.tapImg_),this.shadowTapImg_&&tn_V(this.shadowTapImg_))};tn_a.isHidden=function(){return"none"==this.window_.style.display};
tn_a.selectTab=function(a){if(a!=this.selectedTab_){this.setTab_(a);var b=this.contentContainers_;tn_3e(b,tn_U);tn_V(b[a]);var c=this;window.setTimeout(function(){c.resetPixelPosition()},0)}};tn_a.onCloseClick_=function(){tn_1(this,"closeclick")};
tn_a.maximize=function(a){if(!this.isMaximized_){tn_1(this,"maximizeclick");this.images_.restore.style.visibility="";this.smallSize_=this.centerSize_;this.smallTabs_=this.tabs_;this.smallSelectedTab_=this.selectedTab_;this.maximizedSize_=this.maximizedSize_||new tn_Z(628,598);var b=new tn_Z(4+this.maximizedSize_.width,4+this.maximizedSize_.height);tn__.isGeckoBased()&&(b.width+=1);this.grow_(b,a)}};
tn_a.restore=function(a){this.isMaximized_&&(tn_1(this,"restoreclick"),tn_Ye(this.images_.restore),this.setContent(this.maximizedSize_,this.smallTabs_,this.smallSelectedTab_),this.grow_(this.smallSize_,a))};tn_a.grow_=function(a,b){this.growSiner_=new tn_Bf(!0===b?1:10);this.growStartSize_=this.centerSize_;this.growEndSize_=a;this.doGrow_()};
tn_a.doGrow_=function(){var a=this.growSiner_.next();this.growSiner_.more()&&tn_0e(this,this.doGrow_,10);var b=this.growStartSize_.width+(this.growEndSize_.width-this.growStartSize_.width)*a;a=this.growStartSize_.height+(this.growEndSize_.height-this.growStartSize_.height)*a;this.setCenterSize_(new tn_Z(b,a));this.resetPixelPosition();this.updateContentSize();this.growSiner_.more()||this.growDone_()};
tn_a.growDone_=function(){this.isMaximized_?(this.isMaximized_=!1,tn_1(this,"restoreend")):(this.isMaximized_=!0,tn_1(this,"maximizeend"),this.maximizedSize_&&this.maximizedTabs_&&this.setContent(this.maximizedSize_,this.maximizedTabs_,this.maximizedSelectedTab_))};tn_a.setCenterSize_=function(a){return a=this.centerSize_=this.boundSize_(a)};tn_a.filterMouseDblClick_=function(a){if(1==tn__.type)tn_vf(a);else{var b=tn_Af(a,this.window_);b.y<=this.getWindowHeight()&&tn_vf(a)}};
tn_a.filterMouseDown_=function(a){if(1==tn__.type)tn_wf(a);else{var b=tn_Af(a,this.window_);b.y<=this.getWindowHeight()&&(a.cancelDrag=!0)}};tn_a.getWindowHeight=function(){return this.getCenterSize().height+12};tn_a.getTotalSize=function(){var a=this.getCenterSize();return new tn_Z(a.width+12,a.height+21+6)};
tn_a.setContent=function(a,b,c){this.clearContent();a=new tn_Z(4+a.width,4+a.height);tn__.isGeckoBased()&&(a.width+=1);var d=this.setCenterSize_(a),e=[];this.tabs_=e;var f=c||0;a=new tn_Z(d.width+-4,d.height+-4);var g=this.tabPos_,l=this.contentContainers_=[];for(c=0;c<b.length;c++){var n=tn_O("div",this.window_,g,a);n.style.overflow="hidden";c!=f&&tn_U(n);n.style.zIndex=10;n.appendChild(b[c].contentElem);l.push(n)}if(1<b.length){a=[];g=new tn_Z(11,26);l=new tn_Z(14,26);this.initializeTabs_();for(c=
0;c<b.length;++c){var k={images:b[c].images||{},textWidth:b[c].textWidth||0,offset:b[c].offset||0,name:b[c].name,contentElem:b[c].contentElem,onclick:b[c].onclick},h=k.images;tn_Ff(h,this.window_,[["iw_tabback_dm",1,26,0,0],["iw_tabback_m",1,26,0,0],["iw_tab_dm",1,26,0,0],["iw_tab_m",1,26,0,0]]);tn_4(h,this.window_,"iw_tabback_dl",g);tn_4(h,this.window_,"iw_tabback_dr",l);tn_4(h,this.window_,"iw_tabback_l",g);tn_4(h,this.window_,"iw_tabback_r",l);tn_4(h,this.window_,"iw_tab_dl",g);tn_4(h,this.window_,
"iw_tab_dr",l);tn_4(h,this.window_,"iw_tab_l",g);tn_4(h,this.window_,"iw_tab_r",l);tn_Ff(h,this.shadow_,[["iws_tab_dm",1,28,0,0],["iws_tab_m",1,28,0,0]]);n=function(q,t){tn_U(t);q.tabImages_.push(t)};if(0==c){var m=new tn_Z(6,26);tn_4(h,this.window_,"iw_tab_1dl",m);tn_4(h,this.window_,"iw_tab_1l",m);tn_4(h,this.window_,"iw_tabback_1dl",m);tn_4(h,this.window_,"iw_tabback_1l",m);m=new tn_Z(8,28);tn_4(h,this.shadow_,"iws_tab_1dl",m);tn_4(h,this.shadow_,"iws_tab_1l",m);n(this,h.iw_tab_1dl);n(this,h.iw_tab_1l);
n(this,h.iw_tabback_1dl);n(this,h.iw_tabback_1l);n(this,h.iws_tab_1dl);n(this,h.iws_tab_1l)}n(this,h.iw_tabback_dl);n(this,h.iw_tabback_dm);n(this,h.iw_tabback_dr);n(this,h.iw_tabback_l);n(this,h.iw_tabback_m);n(this,h.iw_tabback_r);n(this,h.iw_tab_dl);n(this,h.iw_tab_dm);n(this,h.iw_tab_dr);n(this,h.iw_tab_l);n(this,h.iw_tab_m);n(this,h.iw_tab_r);n(this,h.iws_tab_dm);n(this,h.iws_tab_m);h=document.createElement("div");k.labelNode=h;tn_T(h,20);m=h.style;h.style.overflow="hidden";m.fontWeight="bold";
m.fontFamily="Arial,sans-serif";m.fontSize=tn_Q(12);m.textAlign="center";m.display="inline";tn_Gf(h);tn_Xe(k.name,h);(function(q,t,r,u){tn_uf(u,q,function(){q.selectTab(t);r&&r()})})(this,c,b[c].onclick,h);this.tabImages_.push(h);a.push(h);this.tabs_.push(k);0<c&&(k={},h=new tn_Z(14,28),tn_4(k,this.shadow_,"iws_tab_do",h),tn_4(k,this.shadow_,"iws_tab_o",h),n(this,k.iws_tab_do),n(this,k.iws_tab_o),this.tabShadowOverlapImages_.push(k))}var p=this;tn_cf(a,function(q){var t;if(q.length==e.length){for(var r=
0;r<q.length;++r){var u=t=e[r];0!=q[r].width&&(u.textWidth=tn_W(0,q[r].width-2-3));tn_V(u.labelNode);p.window_.appendChild(u.labelNode);if(0<r){var v=e[r-1];u.offset=v.offset+v.textWidth+(1==r?6:11)+14-11}}p.totalTabWidth_=t.offset+t.textWidth+14+11-6;if(p.totalTabWidth_+30>d.width)for(p.setCenterSize_(new tn_Z(p.totalTabWidth_+30,d.height)),q=new tn_Z(p.totalTabWidth_+30+-4,d.height+-4),r=0;r<p.contentContainers_.length;++r)tn_We(p.contentContainers_[r],q)}p.setTab_(f);p.resetPixelPosition()})}else k=
{images:b[0].images||{},textWidth:b[0].textWidth||0,offset:b[0].offset||0,name:b[0].name,contentElem:b[0].contentElem,onclick:b[0].onclick},this.tabs_.push(k),this.resetPixelPosition()};tn_a.updateContentSize=function(){for(var a=new tn_Z(this.centerSize_.width+-4,this.centerSize_.height+-4),b=0;b<this.contentContainers_.length;b++){var c=this.contentContainers_[b];tn_We(c,a)}};
tn_a.setMaximizedContent=function(a,b,c){this.maximizedSize_=a;this.maximizedTabs_=b;this.maximizedSelectedTab_=c;this.images_.maximize.style.visibility=""};tn_a.clearContent=function(){var a=this.contentContainers_;tn_3e(a,tn_1e);a.length=0;a=this.tabImages_;tn_3e(a,tn_1e);this.selectedTab_=a.length=0};tn_a.boundSize_=function(a){return new tn_Z(tn_W(a.width,32),tn_W(a.height,0))};tn_a.initializeTabs_=function(){this.tabImages_=[];this.tabShadowOverlapImages_=[];this.totalTabWidth_=0};
tn_a.setTab_=function(a){tn_Gf(this.tabs_[this.selectedTab_].labelNode);this.selectedTab_=a;a=this.tabs_[a].labelNode;var b=a.style;b.color="";b.textDecoration="";tn_X(a,"")};function tn_Gf(a){var b=a.style;b.color="#0000cc";b.textDecoration="underline";tn_X(a,"pointer")}function tn_Ff(a,b,c){b=tn_O("div",b,null,null,!1,!0);for(var d=0;d<c.length;d++){var e=c[d],f=new tn_Z(e[1],e[2]),g=new tn_c(e[3],e[4]),l=tn_Ue+e[0]+".png";f=tn_df(l,b,g,f,!0,!0);a[e[5]||e[0]]=f}return b}
function tn_4(a,b,c,d,e,f){if(1==tn__.type&&7>tn__.version)return b=tn_df(tn_Ue+c+(f?".gif":".png"),b,new tn_c(0,0),d,!0,!0),a[e||c]=b;tn_Cf||(tn_Cf=!0,d=document.createElement("link"),d.rel="stylesheet",d.type="text/css",d.href=tn_Ue+"iw_sprite.css",document.getElementsByTagName("head")[0].appendChild(d));d=document.createElement("div");d.className="SPRITE_"+c;d.style.overflow="hidden";b.appendChild(d);return a[e||c]=d};if(window.jstiming){window.jstiming.beaconImageReferences_={};window.jstiming.reportCounter_=1;var tn_Hf=function(a,b,c){var d=a.t[b],e=a.t.start;if(d&&(e||c))return d=a.t[b][0],e=void 0!=c?c:e[0],a=d-e,Math.round(a)},tn_If=function(a,b,c){var d="";window.jstiming.srt&&(d+="&srt="+window.jstiming.srt,delete window.jstiming.srt);window.jstiming.pt&&(d+="&tbsrt="+window.jstiming.pt,delete window.jstiming.pt);try{window.external&&window.external.tran?d+="&tran="+window.external.tran:window.gtbExternal&&
window.gtbExternal.tran?d+="&tran="+window.gtbExternal.tran():window.chrome&&window.chrome.csi&&(d+="&tran="+window.chrome.csi().tran)}catch(m){}var e=window.chrome;if(e&&(e=e.loadTimes)){e().wasFetchedViaSpdy&&(d+="&p=s");if(e().wasNpnNegotiated){d+="&npn=1";var f=e().npnNegotiatedProtocol;f&&(d+="&npnv="+(encodeURIComponent||escape)(f))}e().wasAlternateProtocolAvailable&&(d+="&apa=1")}var g=a.t,l=g.start;e=[];f=[];for(var n in g)if("start"!=n&&0!=n.indexOf("_")){var k=g[n][1];k?g[k]&&f.push(n+"."+
tn_Hf(a,n,g[k][0])):l&&e.push(n+"."+tn_Hf(a,n))}delete g.start;if(b)for(var h in b)d+="&"+h+"="+b[h];(b=c)||(b="https:"==document.location.protocol?"https://csi.gstatic.com/csi":"http://csi.gstatic.com/csi");return a=[b,"?v=3","&s="+(window.jstiming.sn||"translate")+"&action=",a.name,f.length?"&it="+f.join(","):"",d,"&rt=",e.join(",")].join("")},tn_Jf=function(a,b,c){a=tn_If(a,b,c);if(!a)return"";b=new Image;var d=window.jstiming.reportCounter_++;window.jstiming.beaconImageReferences_[d]=b;b.onload=
b.onerror=function(){window.jstiming&&delete window.jstiming.beaconImageReferences_[d]};b.src=a;b=null;return a};window.jstiming.report=function(a,b,c){var d=document.visibilityState,e="visibilitychange";d||(d=document.webkitVisibilityState,e="webkitvisibilitychange");if("prerender"==d){var f=!1,g=function(){if(!f){b?b.prerender="1":b={prerender:"1"};if("prerender"==(document.visibilityState||document.webkitVisibilityState))var l=!1;else tn_Jf(a,b,c),l=!0;l&&(f=!0,document.removeEventListener(e,g,
!1))}};document.addEventListener(e,g,!1);return""}return tn_Jf(a,b,c)}};var tn_5,tn_6=null,tn_7,tn_Kf,tn_Lf,tn_Mf=!1,tn_Nf=!1,tn_8=!1,tn_9=!1,tn_Of={right:"left",left:"right",ltr:"rtl",rtl:"ltr"},tn_Pf;function tn_Qf(a){return a.substring(0,1).toUpperCase()+a.substring(1)}
var _intlStrings={_originalText:"Original Text:",_interfaceDirection:"ltr",_interfaceAlign:"left",_langpair:"",_currentBy:"",_unknown:"unknown",_suggestTranslation:"Suggest a translation",_submit:"Submit",_feedbackUrl:"https://translate.google.com/translate_suggestion?client=wt",_suggestThanks:"Thank you for helping us improve the quality of our translations.",_reverse:!1,_staticContentPath:""};
function tn_Rf(a){if(3==a.nodeType)return a.nodeValue;if(1==a.nodeType){for(var b="",c=0;c<a.childNodes.length;++c)b+=tn_Rf(a.childNodes[c]);return b}return""}function tn_Sf(a,b){if(a)if(3==b.nodeType)a.appendChild(document.createTextNode(b.nodeValue));else if(1==b.nodeType){if("a"===b.nodeName||"A"===b.nodeName){var c=document.createElement("a");var d=b.getAttribute("href");d&&c.setAttribute("href",d);a.appendChild(c)}else c=a;for(a=0;a<b.childNodes.length;++a)tn_Sf(c,b.childNodes[a])}}
function _setupIW(a){tn_Pf=a;if(!tn_Mf){_intlStrings._staticContentPath&&(tn_Ue=_intlStrings._staticContentPath);tn_5=new tn_Ef;tn_7=document.createElement("div");tn_7.id="google-infowindow";tn_7.className="notranslate";tn_Kf=document.createElement("span");tn_7.onmouseover=function(){tn_Nf=!0;tn_Tf(tn_6)};tn_7.onmouseout=function(){tn_Uf()};document.body.appendChild(tn_Kf);document.body.appendChild(tn_7);a=document.createElement("div");document.body.appendChild(a);tn_U(a);var b=tn_.html.SafeHtml.createIframe(void 0,
void 0,{id:"google-feedback-frame",name:"FEEDBACK_TARGET_IFRAME_NAME"});tn_.dom.safe.setInnerHtml(a,b);tn_5.create(tn_7,tn_Kf);tn_7.firstChild.style.zIndex=2147483647;tn_Kf.firstChild.style.zIndex=2147483647;tn_5.showCloseButton(!0);tn_5.keepInBounds(!0);tn_5.keepInScrollpane(!0);tn_5.allowDownwards(!0);tn_5.allowMaximizeAndRestoreButtons(!1);tn_5.setInterfaceDirection(_intlStrings._interfaceDirection);tn_of(tn_5,"closeclick",function(){tn_Uf(!0);tn_9&&tn_Vf(!1)});var c=document.getElementById("gt-nvframe");
c&&window.addEventListener("scroll",function(){c.style.top=-document.body.scrollTop+"px"},!1);tn_Mf=!0}}var tn_$=null;
function tn_Tf(a){if(a&&(null!==tn_$&&(window.clearTimeout(tn_$),tn_$=null),!tn_8))if(tn_6==a)tn_9||(tn_Lf=tn_6.style.backgroundColor,tn_6.style.backgroundColor="#E6ECF9");else{tn_9&&(tn_5.restore(!0),tn_9=!1);for(var b,c=a.cloneNode(!0),d=a.childNodes.length-1;0<=d;--d)"google-src-text"==a.childNodes[d].className&&(b=a.childNodes[d].cloneNode(!0),c.removeChild(c.childNodes[d]),b.className="google-src-active-text");if(b){tn_5.showCloseButton(!0);tn_Lf=a.style.backgroundColor;a.style.backgroundColor=
"#E6ECF9";var e=document.createElement("div");d=document.createElement("div");var f=tn_.dom.createElement(tn_.dom.TagName.IMG),g=document.createElement("div");g.appendChild(f);f.style.width="48px";f.style.height="16px";f.border="0";f.style.display="inline";f.style.padding="0px";f.style.border="0px solid black";g.style.margin="0px";g.style.marginBottom="-17px";g.style.padding="0px";g.style.textAlign=tn_Of[_intlStrings._interfaceAlign];f.src="https://www.gstatic."+tn_Pf+"/images/branding/googlelogo/1x/googlelogo_color_48x16dp.png";
f.style["margin"+tn_Qf(_intlStrings._interfaceAlign)]="6px";f.style["margin"+tn_Qf(tn_Of[_intlStrings._interfaceAlign])]=tn_Q(18);e.appendChild(g);e.appendChild(d);d.appendChild(document.createTextNode(_intlStrings._originalText));d.style.color="#333";d.style.direction=_intlStrings._interfaceDirection;d.style.textAlign=_intlStrings._interfaceAlign;d.style.fontWeight="bold";d.style.fontSize="12px";d.style.minHeight="19px";d.style.fontFamily="arial,sans-serif";d.style["margin"+tn_Qf(tn_Of[_intlStrings._interfaceAlign])]=
tn_Q(72);d=document.createElement("div");d.className="google-src-active-text";d.style.lineHeight="19px";d.style.direction=_intlStrings._interfaceDirection;d.style.textAlign=_intlStrings._interfaceAlign;tn_Sf(d,b);e.appendChild(d);e.style.zIndex=2147483647;if(0==_intlStrings._langpair.length)tn_6=a,tn_bf(e,function(q){tn_5.hide();tn_5.setContent(q,[new tn_Df(_intlStrings._originalText,e)]);tn_5.setNodePosition(tn_6);tn_5.show()},(document.width||document.body.scrollWidth)/2);else{d=e.cloneNode(!0);
var l=document.createElement("div");l.appendChild(d);d=document.createElement("div");f=document.createElement("span");g=document.createElement("div");g.style.direction=_intlStrings._interfaceDirection;g.style.textAlign=_intlStrings._interfaceAlign;g.style.marginTop=tn_Q(5);d.appendChild(g);var n=tn_.dom.createElement(tn_.dom.TagName.IMG);n.src="http://www.google.com/images/zippy_plus_sm.gif";n.style.width="12px";n.style.height="12px";n.border="0";n.style.border="none";n.style.verticalAlign="middle";
g.appendChild(n);g.appendChild(document.createTextNode(" "));g.appendChild(f);f.appendChild(document.createTextNode(_intlStrings._suggestTranslation));f.style.direction=_intlStrings._interfaceDirection;f.style.textAlign=_intlStrings._interfaceAlign;f.style.color="#0000CC";f.style.textDecoration="underline";f.style.fontFamily="arial,sans-serif";f.style.fontSize="12px";g.onclick=tn_Wf;tn_X(f,"pointer");e.appendChild(d);var k=document.createElement("div");d=document.createElement("div");f=document.createElement("span");
d.style.direction=_intlStrings._interfaceDirection;d.style.textAlign=_intlStrings._interfaceAlign;d.style.marginTop=tn_Q(5);d.style.marginBottom=tn_Q(6);k.appendChild(d);g=tn_.dom.createElement(tn_.dom.TagName.IMG);g.src="http://www.google.com/images/zippy_minus_sm.gif";g.style.width="12px";g.style.height="12px";g.border="0";g.style.border="none";g.style.verticalAlign="middle";d.appendChild(g);d.appendChild(document.createTextNode(" "));d.appendChild(f);f.appendChild(document.createTextNode(_intlStrings._suggestTranslation));
f.style.direction=_intlStrings._interfaceDirection;f.style.textAlign=_intlStrings._interfaceAlign;f.style.color="#0000CC";f.style.textDecoration="underline";f.style.fontFamily="arial,sans-serif";f.style.fontSize="12px";d.onclick=function(){tn_Vf(!0)};tn_X(f,"pointer");tn_6=a;a=document.createElement("div");d=document.createElement("form");d.style.marginBottom="0px";d.style.paddingBottom="0px";d.target="google-feedback-frame";d.method="post";d.action=_intlStrings._feedbackUrl;a.appendChild(d);var h=
tn_.dom.createElement(tn_.dom.TagName.INPUT);h.type="hidden";h.name="gtrans";d.appendChild(h);_intlStrings._reverse?(f=tn_Rf(c),c=tn_Rf(b)):(c=tn_Rf(c),f=tn_Rf(b));h.value=c;b=tn_.dom.createElement(tn_.dom.TagName.INPUT);b.type="hidden";b.value=f;b.name="text";d.appendChild(b);b=tn_.dom.createElement(tn_.dom.TagName.INPUT);b.name="langpair";b.type="hidden";b.value=_intlStrings._langpair;d.appendChild(b);b=tn_.dom.createElement(tn_.dom.TagName.INPUT);b.name="u";b.type="hidden";b.value=tn_Xf("u");d.appendChild(b);
b=tn_.dom.createElement(tn_.dom.TagName.INPUT);b.name="oe";b.type="hidden";if(document.charset)b.value=document.charset,d.appendChild(b);else if(document.characterSet)b.value=document.characterSet,d.appendChild(b);else if(f=tn_Xf("oe"))d.appendChild(b),b.value=f;var m=document.createElement("textarea");m.rows=3;m.name="utrans";m.value=c;d.appendChild(m);b=document.createElement("div");b.style.direction=_intlStrings._interfaceDirection;b.style.textAlign=tn_Of[_intlStrings._interfaceAlign];b.style.marginTop=
tn_Q(6);b.style.marginBottom="0px";d.appendChild(b);c=tn_.dom.createElement(tn_.dom.TagName.INPUT);c.type="submit";c.value=_intlStrings._submit;b.appendChild(c);var p=document.createElement("div");p.appendChild(document.createElement("hr"));p.appendChild(document.createTextNode(_intlStrings._suggestThanks));p.style.direction=_intlStrings._interfaceDirection;p.style.textAlign=_intlStrings._interfaceAlign;p.style.fontFamily="arial,sans-serif";p.style.fontSize="12px";p.style.overflow="auto";p.style.marginTop=
"10px";tn_U(p);k.appendChild(a);l.appendChild(k);l.appendChild(p);d.onsubmit=function(){window.setTimeout(function(){tn_U(k);tn_V(p)},1);tn_8=!1;return m.value!=h.value};tn_cf([l,e],function(q){m.style.width=tn_Q(q[0].width-6);m.style.padding=tn_Q(2);tn_5.hide();tn_5.setContent(q[1],[new tn_Df(_intlStrings._originalText,e)]);tn_5.setMaximizedContent(q[0],[new tn_Df(_intlStrings._originalText,l)]);tn_5.setNodePosition(tn_6);tn_5.showCloseButton(!0);tn_5.show()},(document.width||document.body.scrollWidth)/
2)}}}}function tn_Xf(a){var b=window.location.search.substring(1);b=b.split("&");for(var c=0;c<b.length;c++){var d=b[c].split("=");if(d[0].toLowerCase()==a&&0<d.length)return window.unescape(d[1])}return""}function tn_Yf(a){tn_Mf&&(tn_Nf=!0,tn_8||(null!==tn_$&&(window.clearTimeout(tn_$),tn_$=null),tn_6==a?(tn_Lf=tn_6.style.backgroundColor,tn_6.style.backgroundColor="#E6ECF9"):tn_$=window.setTimeout(function(){tn_Tf(a)},500)))}
function tn_Uf(a){tn_Mf&&(!0!==a&&(tn_Nf=!1),tn_8||(tn_6&&tn_6.style&&(tn_6.style.backgroundColor=tn_Lf),tn_$&&(window.clearTimeout(tn_$),tn_$=null),!0!==a?tn_$=window.setTimeout(tn_Zf,250):tn_Zf()))}function tn_Zf(){tn_8||(tn_5.hide(),tn_9&&(tn_5.restore(!0),tn_9=!1),tn_6=null)}function tn_Wf(){tn_9=tn_8=!0;var a=tn_of(tn_5,"maximizeend",function(){tn_pf(a)});tn_5.maximize()}
function tn_Vf(a){var b=tn_of(tn_5,"restoreend",function(){tn_pf(b);tn_9=!1;a?window.setTimeout(function(){tn_8=!1;tn_Nf||tn_Uf(!0)},500):(tn_8=!1,tn_Nf||tn_Uf(!0))});tn_5.restore()}function _csi(a,b){var c={};c.sl=a;c.tl=b;a=window.jstiming.load;a.tick("prt");a.tick("ol");a.name="w";window.jstiming.sn="translate";window.jstiming.report(a,c);try{window.external&&window.external.resT()}catch(d){}}function tn__f(a){var b=window.onload;window.onload=b?function(){try{a()}catch(c){}b(null)}:a}
var _tipon=tn_Yf,_tipoff=tn_Uf,_addload=tn__f,tn_0f=window.jstiming.load;tn_0f.tick("jl");
